• 締切済み

for文?

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

  • t-cmt
  • お礼率7% (68/935)

みんなの回答

  • 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

  • for文を使って。

    プログラミングを勉強している初心者ですが、以下の問題につまずいてしまいました。 「10000以下の任意の数を入力して、10000からその数を引くことのできる回数を調べるプログラムを作成せよ。」 for文とデクリメント演算子を使ってつくろうとしているのですが…。 詳しいアドバイスお願いします!!

  • for文

    以下のプログラムのforの条件文がなぜこれで動くのかよくわからないので 教えていただけないでしょうか? #include<stdio.h> int main(void) { int i; char str[] = "ABC"; char *ptr = "123"; for(i=0;str[i];i++) putchar(str[i]); putchar('\n'); for(i=0;ptr[i];i++) putchar(ptr[i]); putchar('\n'); printf("str = \"%s\"\n",str); printf("ptr = \"%s\"\n",ptr); return(0); }

  • PHPのfor文とforeach文の使い方

    PHPのfor文とforeach文を使って、 ・果物の名前を4回繰り返す ・繰り返しの2回目と4回目は、"食べてください"という文字列を入れる という出力を返したいと考えています。 完成イメージは次のとおりです。 (1回目のループ) りんご ばなな ぶどう みかん (2回目のループ) 食べてください りんご ばなな ぶどう みかん (3回目のループ) りんご ばなな ぶどう みかん (4回目のループ) 食べてください りんご ばなな ぶどう みかん しかし自分が作成したプログラムでは、 次の2点について問題があります。 ・すべての繰り返しの前に"食べてください"が入ってしまう ・for文のループが止まらない 完成イメージの通りのプログラムにするためには、 どのように修正すればよろしいでしょうか? ご存知の方がいらっしゃいましたら、 ご教示願います。 ○質問の補足 自分が作成したプログラムは以下のとおりです。 for($i = 0; $i < 4; $i++) { if (($i = 1) || ($i = 3)) { echo "食べてください"; echo "</br>"; }; $fruits = array("りんご", "ばなな", "ぶどう", "みかん"); foreach ($fruits as $value) { echo $value; echo "</br>"; } } 以上、よろしくお願い申し上げます

    • ベストアンサー
    • PHP
  • C言語プログラム

    N次の複素正方行列S,Tの積Uを計算するプログラムを作りたいのですが、実数で正方行列を計算するプログラムと 複素数の積、和のプログラム struct complex { double re; double im; }; を作ったのですが、この二つをまとめるとプログラムができるらしいのですがまとめ方が全然わかりません。どのようにしたらいいかヒントなど教えてください。

  • java for文プログラムについて

    java for文プログラムについて javaのfor文のプログラムにて 2つの数値をキーボード入力し入力値を+入力値とやっていきたいプログラムを組みたいのですがどんなプログラミングを行えばいいのでしょうか。 例えば入力が15 もうひとつの入力が20だとすれば15+16+17+18+19+20=105という計算を行いたいです プログラミング環境はeclipseです 分かる方教えてください。

  • for文について

    以下のプログラムにおいて, for文の末尾にセミコロンがついているタイプ( for(...); ) のfor文の制御の流れは,セミコロンがついていないタイプ( for(...) ) と何が違うのでしょうか? for文の末尾にセミコロンがないタイプのものしか知らないため, セミコロンがつくことで流れに何が変化するか知りたいです. 御存知の方がいらしたら,教えてください. 【出力結果】 forの末尾にセミコロンがある 2100 forの末尾にセミコロンがない 700 /*+++++++ ソース ++++++++*/ #include <stdio.h> int main() {  int s_tb1[3] = {60,100,150};  int mg_tb[3] = {1,3,4};  int i,size=80,base=600,mode=1,ext=100;  for(i=0; size>s_tb1[i]; i++);   printf("%d\n", (base+mode*ext)*mg_tb[i] );  return(0); }

  • for文の応用

    今、S001.csvからS099.csvまでのファイルがあります。 これを下記のプログラムを書いて、新たにSA001.csvからSA099.csvまでのファイルを作りたいと考えています。 しかし、途中途中で数字が抜けているため、全てのファイルが処理できず 困っています。たとえば、S001.csvからS009.csvまでは 存在するが、S010.csvはなく、またS011.csvからは 存在するという具合です。 初歩的な質問で大変恐縮ですが、ご教示いただければ幸いです。 for ($i = 1; $i <= 99; ++$i) {  $file = sprintf("S%03d.csv", $i);  $newfile = sprintf("SA%03d.csv", $i); open (FILE, $file) or die; open (NEWFILE, ">$newfile") or die;  while (my $line = <FILE>) {  my ($aaa, $bbb, $ccc) = split(/,/, $line);  print NEWFILE join(',', $aaa, $bbb), "\n";  } close(FILE); close(NEWFILE); }

    • ベストアンサー
    • Perl
  • 複数のfor文

    for文を用いて a[0][0][0][0][0][0][0][0][0] a[0][0][0][0][0][0][0][0][1] a[0][0][0][0][0][0][0][0][2] a[0][0][0][0][0][0][0][1][0] a[0][0][0][0][0][0][0][1][1] a[0][0][0][0][0][0][0][1][2] a[0][0][0][0][0][0][1][0][0] a[0][0][0][0][0][0][1][0][1] a[0][0][0][0][0][0][1][0][2] ............................ ............................ a[1][1][1][1][1][1][1][1][0] a[1][1][1][1][1][1][1][1][1] a[1][1][1][1][1][1][1][1][2] のように、下1ケタは0,1,2の繰り返しで 上8桁は2進数で増加するものを表示する プログラムを作成したいと考えています。 0と1の出るタイミングに周期があるのはわかるのですが どうプログラミングすれば良いのかわかりません。 よろしくお願いします。

  • for文について

    for文を使って、以下のような図形を作成してますが、 どうしてもうまく作れません。 どなたか教えていただけないでしょうか? 現在出来ているソースは次のようです。 まるで異なる図形になってしまいますが。 public class kurikaeshi { public static void main(String[] args) { int i = 0, j = 0, k = 0, l=0; for(i = 0; i < 10; i++) { for(j = 0; j < i + 1; j++) { for(k = 0; k < 2*j; k++) { System.out.print(" "); } for(l = 0; l < (2*i + 1) - 2*k; l++) { System.out.print("*"); } System.out.println(); } } } } + +++ + +++++ +++ + +++++++ +++++ +++ + +++++++++ +++++++ +++++ +++ + +++++++++++ +++++++++ +++++++ +++++ +++ +

  • 伝達関数のステップ応答→グラフを書く

    伝達関数G(s)=50/(1+100S)(1+12S) のステップ応答h(t)を求め、コンピューターで数値計算を行いグラフを書くという問題で、計算を行うためのプログラムと、計算結果・グラフを提出しなければいけないのですが、その数値計算をするプログラムがかけません。 部分分数分解、ラプラス逆変換をしてステップ応答を求めることはできたのですが、コンピューターで数値計算をするには、どのようにプログラムを書けばいいのですか? ちなみにC言語で書こうと思っています。 ヒントだけでもいいので教えてもらえないでしょうか? よろしくお願いします。