728x90
728x90

수학 39

백준] 1978 - 소수 찾기

시간 제한 : 2초메모리 제한 : 128MB 입력첫 줄에 수의 개수 N이 주어진다. N은 100이하이다. 다음으로 N개의 수가 주어지는데 수는 1,000 이하의 자연수이다. 출력주어진 수들 중 소수의 개수를 출력한다. 소스코드#include #include using namespace std; int sosu(int n) { int i, cnt = 0; if (n == 1) { return 0; } else if (n == 2 || n == 3) { return 1; } else if (n % 6 == 1 || n % 6 == 5) { for (i = 1; i 1) { return 0; } } return 1; } else { return 0; } } int main(void) { int n; int a..

백준] 3046 - R2(COCI 2006/2007)

시간 제한 : 1초메모리 제한 : 128MB 두 숫자 R1과 R2가 있을 때, 두 수의 평균 S는 (R1+R2)/2와 같다. 상근이는 정인이 생일 선물로 두 숫자 R1과 R2를 주려고 한다. 생일 파티에서 상근이는 정인이에게 이 두 숫자를 말해주고, 정인이는 이 숫자를 받아 적는다. 그리고 나서 기쁜 마음으로 1년동안 이 숫자를 외우면서 산다.상근이는 R1과 R2를 엄청난 고민 끝에 정했다. 작년에는 R1과 R2를 까먹어서 아무 숫자나 정해서 주었기 때문에, 올해는 까먹지 않기 위해서 평균 S도 같이 기억하려고 한다.오늘은 정인이 생일이다. 5분 후에 상근이는 생일 선물로 두 숫자 R1과 R2를 말해주어야 하지만, 안타깝게도 R2를 까먹고 말았다. 하지만 R1과 S는 기억하고 있다!상근이를 도와 R2가 ..

백준] 1057 - 토너먼트

시간 제한 : 2초메모리 제한 : 128MB 입력첫째 줄에 참가자의 수 N과 1 라운드에서 김지민의 번호와 임한수의 번호가 순서대로 주어진다. N은 100,000보다 작거나 같은 자연수이고, 김지민의 번호와 임한수의 번호는 N보다 작거나 같은 자연수이고, 서로 다르다. 출력첫째 줄에 김지민과 임한수가 대결하는 라운드 번호를 출력한다. 만약 서로 대결하지 않을 때는 -1을 출력한다. 소스코드 #include using namespace std; int main(void) { int n, a, b, i; cin >> n >> a >> b; a--, b--; for (i = 0; a - b != 0; i++) a /= 2, b /= 2; cout

백준] 1788 - 피보나치 수의 확장

시간 제한 : 2초메모리 제한 : 128MB 입력첫째 줄에 n이 주어진다. n은 절대값이 1,000,000을 넘지 않는 정수이다. 출력첫째 줄에 F(n)이 양수이면 1, 0이면 0, 음수이면 -1을 출력한다. 둘째 줄에는 F(n)의 절대값을 출력한다. 이 수가 충분히 커질 수 있으므로, 절대값을 1,000,000,000으로 나눈 나머지를 출력한다. 소스코드 #include using namespace std; long long dp[1000001] = { 0, 1, }; int main(void) { int n, k; cin >> n; if (n < 0) k = -n; else k = n; for (int i = 2; i 0) cout

백준] 3036 - 링(COCI 2006/2007)

시간 제한 : 1초메모리 제한 : 128MB 입력첫째 줄에 링의 개수 N이 주어진다. (3 ≤ N ≤ 100) 다음 줄에는 링의 반지름이 상근이가 바닥에 놓은 순서대로 주어진다. 반지름은 1과 1000를 포함하는 사이의 자연수이다. 출력출력은 총 N-1줄을 해야 한다. 첫 번째 링을 제외한 각각의 링에 대해서, 첫 번째 링을 한 바퀴 돌리면 그 링은 몇 바퀴 도는지 기약 분수 형태 A/B로 출력한다. 소스코드 #include using namespace std; int gcd(int a, int b) { if (b == 0) return a; else return gcd(b, a%b); } int main(void) { int n, left, g; int arr[100]; cin >> n >> left;..

백준] 5724 - 파인만(ACM-ICPC Regional)

시간 제한 : 1초메모리 제한 : 128MB 입력입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 테스트 케이스는 한 줄로 이루어져 있고, 그리드 한 변에 있는 정사각형의 개수 N이 주어진다. (1 ≤ N ≤ 100) 입력의 마지막 줄에는 0이 하나 주어진다. 출력각 테스트 케이스에 대해서, 한 줄에 하나씩 서로 다른 정사각형의 개수를 출력한다. 소스코드 #include using namespace std; int main(void) { int n; while (1) { cin >> n; if (n == 0) break; cout

백준] 1735 - 분수 합

시간 제한 : 2초메모리 제한 : 128MB 입력첫째 줄과 둘째 줄에, 각 분수의 분자와 분모를 뜻하는 두 개의 자연수가 순서대로 주어진다. 입력되는 네 자연수는 모두 30,000 이하이다. 출력첫째 줄에 구하고자 하는 기약분수의 분자와 분모를 뜻하는 두 개의 자연수를 빈 칸을 사이에 두고 순서대로 출력한다. 소스코드 #include using namespace std; int gcd(int a, int b) { if (b == 0) return a; else gcd(b, a%b); } int main(void) { int a1, a2, b1, b2, lcm, sum, ki; cin >> a1 >> a2; cin >> b1 >> b2; if (a2 > b2) lcm = gcd(a2, b2); else l..

728x90