- 締切済み
for文?
次の計算をするプログラムを作成せよ。 ・S=1+(1+2)+(1+2+3)+(1+2+3+4)+…+(1+2+3…+10) ヒントを教えてください、宜しくお願いします。
- みんなの回答 (6)
- 専門家の回答
みんなの回答
- arukamun
- ベストアンサー率35% (842/2394)
こんばんは もう、回答が出ているので、他の例も挙げます。 まずは、forループ1個のものです。 #include <stdio.h> main() { int s,i ; s = 0 ; for (i=1 ;i<=10 ;i++){ s = 2*s+i ; } printf("S=%d\n",s); } 次のプログラムは計算式を表示させながら計算させてみます。 #include <stdio.h> main() { int s,i,j ; s = 1 ; printf("S=1"); for (i=2 ;i<=10 ;i++){ printf("+("); for (j=1 ;j<i ;j++){ s += j ; printf("%d+",j); } s += j ; printf("%d)",j); } printf("\n =%s\n",s); } 当方で確認して居ませんので、コンパイラをお持ちであれば、試して見てください。
- keyguy
- ベストアンサー率28% (135/469)
既に同じ回答があります。 4は無かったことにしてください。 (読んでなかったので分からなかった。)
- keyguy
- ベストアンサー率28% (135/469)
int i,j,k,l; と定義して for(k=0,i=1;i<=10;i++)for(j=1;j<=i;j++)k+=j; を実行すればよい。 答えはkに。
どこがわからないのか、わからないので、「ヒント」ではなく、「解答」になってしまいますが、 [ C / C++ ] #include <stdio.h> int main() { int i, j, sum = 0; for (i = 1; i <= 10; i++) { for (j = 1; j <= i; j++) { sum += j; } } printf("合計 = %d\n", sum); return 0; } [ Visual Basic ] Option Explicit Public Sub Main() Dim i As Long Dim j As Long Dim sum As Long sum = 0 For i = 1 To 10 For j = 1 To i sum = sum + j Next j Next i MsgBox "合計 = " & CStr(sum), vbInformation, "計算結果" End Sub 数学の知識(数列の公式等)は特になくても、正面から愚直に計算すれば解けます。
- ymmasayan
- ベストアンサー率30% (2593/8599)
for文を2つ使います。(2重ループ) for(i=1~10) for(j=1~i)
- sha-girl
- ベストアンサー率52% (430/816)
まず最初にS=0 以下をfor文で繰り返す 一回目 S←S+(1) 二回目 S←S+(1+2) 三回目 S←S+(1+2+3) ・ ・ ・ 等差数列の和 = (n(初項+末項))/2 (1+2+3+4+5+6+7+8+9+10) = (10(1+10))/2