[C]白駿1644小数の連合
1315 ワード
https://www.acmicpc.net/problem/1644
1つ以上の連続する少数の和が表すことができる自然数がある.いくつかの自然数の例を挙げると以下のようになります.3:3(一種) 41:2+3+5+7+11+13=11+13+17=41(3種) 53:5+7+11+13+17=53(両方) しかし、いくつかの自然数は連続的な少数の和で表すことができず、20は一例である.7+13を計算すると20ですが、7と13は連続していないので適切な表現ではありません.また、小数は1回の加算にしか使用できないため、3+5+7のような表現にも適していない.
自然数が与えられた場合、連続する小数の和で自然数を表すことができる場合は、プログラムを作成して解きます.
送信15437正解率42%
質問する
1つ以上の連続する少数の和が表すことができる自然数がある.いくつかの自然数の例を挙げると以下のようになります.
自然数が与えられた場合、連続する小数の和で自然数を表すことができる場合は、プログラムを作成して解きます.
送信15437正解率42%
コード#コード#
#include <stdio.h>
#inclue <stdlib.h>
int main(void) {
int prime[25] = { 2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97 };
int n = 0;
scanf("%d", &n);
int cnt = 0, sum = 0;
int left = 0, right = 0;
while (right <= 25) {
if (sum >= n) {
sum -= prime[left];
left++;
}
else {
right++;
sum += prime[right];
}
if (sum == n)
cnt++;
}
printf("%d", cnt);
}
Reference
この問題について([C]白駿1644小数の連合), 我々は、より多くの情報をここで見つけました https://velog.io/@z00m__in/C-백준-1644-소수의-연속합テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol