- 締切済み
C言語で
1のm乗からnのm乗までのの累計を出す関数を作りたいのですが、for文だけでやろうとすると、どのように作ればいいんでしょうか。
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- ryu-ku3
- ベストアンサー率0% (0/0)
これでどうでしょう。 #include <stdio.h> int main() { int n,m,ans,i,j,number,temp; ans = 0; number = 1; n = 3; m = 3; for(i=0;i<n;i++){ temp = number; for(j=0;j<m-1;j++){ temp = temp * number;m乗する } number++; ans += temp; } printf("%d",ans); return 0; } 実際に自分で打ってみて、コンパイルかけると、 練習になると思います。
- ryu-ku3
- ベストアンサー率0% (0/0)
1のm乗はmがどんな値であっても、 1ですね。 問題文が少しおかしいのではないでしょうか。 予想ですが問題は、 ある数nの1乗から m乗までの合計をfor文で記述せよ。 じゃないかと思いました。 つまり、n=2,m=3なら 2 + 2の2乗 + 2の3乗 = 2 + 4 + 8 = 14 になりますね。 したがって、 #include <stdio.h> int main() { int n,m,answer,i,j,temp; answer = 0; n = 2; m = 3; for(i=0;i<m;i++){ /*m回ループ*/ temp = n; for(j=0;j<i;j++){ /*外のループ1回目(iが0のとき)は乗算しない*/ /*外のループ2回目(iが1のとき)は1回nをかける*/ /*外のループ3回目は2回*/ temp = temp * n; } answer += temp; } printf("%d",answer); return 0; } となります。 問題文の解釈が違ったらすみません^^; 自分もc言語は勉強中です、一緒にがんばりましょう。
- jacta
- ベストアンサー率26% (845/3158)
mとnはどんな値ですか? 整数の場合と、実浮動小数点数の場合と、複素数の場合では、まったく話が異なります。
補足
すいません。m、nとも整数です。
補足
Sn=1のm乗+2のm乗+3のm乗・・・・+nのm乗をfor文だけを使って求めるたいのですが、 説明がうまくなくてすいません。