• 締切済み

数値を入力して1からその数値までの和を計算するプログラムを作れる方お願

数値を入力して1からその数値までの和を計算するプログラムを作れる方お願いします。 たとえば 5 を入力したら1+2+3+4+5、 12なら1+2+3+4+5+6+7+8+9+10+11+12 を計算するといった感じです

みんなの回答

  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.5

「for 文を使った, 1 から n までの和を計算する関数」の例: int add_r(int n) { int s; for (s = 0; n; n = 0) s = n*(n+1)/2; return s; }

  • hitomura
  • ベストアンサー率48% (325/664)
回答No.4

No.3ですが、ミスがあったので関数だけ再投稿します。 int add_r(int n) { return (n == 0) ? 0 : add_r(n - 1) + n; }

  • hitomura
  • ベストアンサー率48% (325/664)
回答No.3

たぶんforを使った回答を期待しているのでしょうがそれは自分で考えてください。 で、forを使わない回答をひとつ。 int add_r(int n) { return (n == 0) ? 0 : addr(n - 1) + n; } なお、この関数には実際に使うには問題があります。これが何をやっているのかと何が問題なのかを説明できなければ使用すべきではありません。

  • hanmemomo
  • ベストアンサー率35% (205/580)
回答No.2

等差数列だねw んで、それは何のために必要なのですか?もしも学校の問題なら学校で処理を今後はしてくださいね。 んで答えというかCでのやり方ですが int addx(int end) { int ans; ans=(1+end)*end /2; return(ans); } 意味は、初項+真項*初項から真項までの距離/2 初項から真項はend+1-1が厳密なのでendと書いています。 マクロでも問題がない、長さになりますが

回答No.1

1から自然数nまでの和は、 (n+1)n/2 だという話を小学校6年くらいでやったはずです。