• 締切済み

for文?

次の計算をするプログラムを作成せよ。 ・S=1+(1+2)+(1+2+3)+(1+2+3+4)+…+(1+2+3…+10) ヒントを教えてください、宜しくお願いします。

みんなの回答

  • arukamun
  • ベストアンサー率35% (842/2394)
回答No.6

こんばんは もう、回答が出ているので、他の例も挙げます。 まずは、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)
回答No.5

既に同じ回答があります。 4は無かったことにしてください。 (読んでなかったので分からなかった。)

  • keyguy
  • ベストアンサー率28% (135/469)
回答No.4

int i,j,k,l; と定義して for(k=0,i=1;i<=10;i++)for(j=1;j<=i;j++)k+=j; を実行すればよい。 答えはkに。

noname#4564
noname#4564
回答No.3

どこがわからないのか、わからないので、「ヒント」ではなく、「解答」になってしまいますが、 [ 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)
回答No.2

for文を2つ使います。(2重ループ) for(i=1~10) for(j=1~i)

  • sha-girl
  • ベストアンサー率52% (430/816)
回答No.1

まず最初に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

関連するQ&A

専門家に質問してみよう