「教えて!ピックアップ」リリース!

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


たとえば 5 を入力したら1+2+3+4+5、 12なら1+2+3+4+5+6+7+8+9+10+11+12 を計算するといった感じです

A 回答 (5件)

「for 文を使った, 1 から n までの和を計算する関数」の例:


int add_r(int n)
{
int s;
for (s = 0; n; n = 0)
s = n*(n+1)/2;
return s;
}
    • good
    • 6

No.3ですが、ミスがあったので関数だけ再投稿します。



int add_r(int n)
{
return (n == 0) ? 0 : add_r(n - 1) + n;
}
    • good
    • 0

たぶんforを使った回答を期待しているのでしょうがそれは自分で考えてください。


で、forを使わない回答をひとつ。

int add_r(int n)
{
return (n == 0) ? 0 : addr(n - 1) + n;
}

なお、この関数には実際に使うには問題があります。これが何をやっているのかと何が問題なのかを説明できなければ使用すべきではありません。
    • good
    • 1

等差数列だねw


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

1から自然数nまでの和は、



(n+1)n/2

だという話を小学校6年くらいでやったはずです。
    • good
    • 2

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

このQ&Aを見た人はこんなQ&Aも見ています


人気Q&Aランキング