電子書籍の厳選無料作品が豊富!

1 から 1000 までの範囲で 7 の倍数を求め、その合計を表示する
にはどうすればよいでしょうか。

という問いに対して、C言語での解き方がまったくわかりません・・・。






#include <stdio.h> /* 標準入出力ライブラリ */

main()
{
int i; /* int 型の変数 i を宣言 */

i = 7; /* i に 1 を代入し、初期化 */

/* i が 1000 以下であるかぎり、繰り返す */
while( i <= 1000 ){
printf("%dの2乗は %d です\n", i, i * i);
i = i + 7; /* i を 7 増やす */
}
}

A 回答 (2件)

ここは数学カテなので、


例えば…

/*******************************
 1 から 1000 までの間に、
 7 の倍数は [ 1000/7 ] 個。
 その中で最大のものは、
 7 × [ 1000/7 ] 。
 等比数列の和は、
 (初項 + 終項) × 項数 / 2 。
*******************************/

#include <stdio.h>

#define N 1000
#define A 7

main() {
int k = N / A;
printf("%d + %d + ... + %d = %d\n",
A, A * 2, A * k, (A + A * k) * k / 2);
}
    • good
    • 1

なぜ数学カテなのか疑問ですが、


たとえば・・・・

int i, sum;
sum=0;
for(i=7;i<=1000;i+=7){
  sum+=i;
  printf("%4d\n", i);
}
printf("-----\n");
printf("sum = %d\n", sum);
    • good
    • 1

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!