백준(baekjoon)-C++ 정리

SUIN·2022년 4월 18일
0

백준/프로그래머스

목록 보기
2/18
post-thumbnail

1010 다리놓기(*)

#include <iostream>

using namespace std;

int main(){
    int m, n, t;
    cin>>t;

    for(int i=0; i<t;i++)
    {
        long long result=1;
        
        cin>>n>>m;

        for(int j=0; j<n;j++)
        {
            result*=m-j;
            result/=1+j;
        }
        cout<<result<<endl;
    }
    return 0;
}

조합:서로 다른 n개 중에서 r개(n≥r) 취하여 조를 만들 때, 이 하나하나의 조를 n개 중에서 r개 취한 조합
nCr=n!/(r!(n-r)!=n!/r! = (n-r+1)(n-r+2)....(n)/r!

서쪽 개수, 동쪽 개수 입력받기
결과 구하기
->분자를 먼저 구하고 분모를 구하는 경우 값이 너무 커지므로 분자와 분모를 동시에 구함
nCr=mCn=(m-n+1)(m-n+2)....(m)/n!
(result*=m-j는 m부터 하나씩 감소해가면서 곱하고
result/=1+j는 1부터 하나씩 증가해가면서 나눔)
출력


1297 TV크기(수학hate)

#include <iostream>
#include <math.h>

using namespace std;

int main() {
	int d, h, w;
	cin >> d >> h >> w;
	double a = sqrt((d * d) / double(h * h + w * w));

	cout << int(a * h) << " " << int(a * w) << endl;
}

대각선, 높이비율, 너비비율 입력받기
비율의 단위를 a에 저장(피타고라스/c^2=a^2+b^2)
sqrt(d^2/h^2+w^2) (sqrt=제곱근)
높이:h
a, 너비: w*a 출력


1712 손익분기점

#include <iostream>

using namespace std;
int main() {
	long a, b, c, result;
	cin >> a >> b >> c;

	result = c - b;
	if (result <= 0)
		result = -1;
	else
		result = a / result + 1;

	cout << result;
}

21억의 숫자를 저장해야 하므로 long사용
a=고정비용 b=한 대 생산 당 가변비용 c=판매가격
result에 가변비용-판매가격(한 대당 얻는 이윤)을 저장
이윤이 0보다 작으면 손익분기점이 없으므로 -1을
이윤이 0보다 크면
고정비용을 이윤으로 나눈 값으로 필요한 판매량 계산(+1을 해 주어야 손익 분기점을 '넘는' 값이 나옴)
출력

오늘의 tmi: 나 치고는 오래 가는 기록이다. 아마 시험기간이 끝나면 이것도 안 하지 않을까 싶다. 아 아니다 열심히 할 것이다 다 같이 파이띵!!^^

profile
공부하기싫을때붙잡고공부해봤자비명밖에안나옵니다지금제가그래요

0개의 댓글