• 締切済み

課題で困っています...

課題の演習問題で困っております。 課題は、 数nを入力し、1からnまでの奇数の和、偶数の和および1からnまでの和を計算し、表示するアプリを作りなさい...といったものですが、1からnまでの和については表示させることができたのですが、Modを使った奇数の和、偶数の和の表示がどうもうまくいきません。 ご存じの方は、どうぞご教示ください。 よろしくお願いします。

みんなの回答

回答No.2

偶数の和は、添付図のような計算式で求まります。 奇数の和も、考え方は同じです。 祈、成功!

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.1

>ご存じの方は、 プログラムをやる人全員が知っていること。小生が回答するのも恥ずかしい。 ただアンドロイドスマホでやるとか、特別なアプリでやるということになると、それ特有の知識がいる。 また下記の画面に表示するMsgBox sの部分は、言語により大きく差があり、ウインドウズ的な画面に表示するのはなおさら、言語系の知識がいる。VB系でもフォームなどのテキストボックスなどに出すことも多い。 下記はてっとり早くエクセルVBAでやったもの。 ーー 奇数、偶数を言わなければ (Dimなどで変数(下記ではs,i)宣言を入れるのは、先生のおっしゃるやり方に従うこと) Sub test01() s = 0 For i = 1 To 10 s = s + i Next i MsgBox s End Sub ーー 奇数だけなら、足しこむ前に奇数(か偶数)判定(IF文を使う)して、奇数(か偶数)なら、足しこみの部分 s = s + i をスキップすればよい。 判定はMOD関数やINT関数で判定。 Sub test01() s = 0 For i = 1 To 10 If i Mod 2 <> 0 Then '2で割って余りなし=奇数 s = s + i End If Next i MsgBox s End Sub ーー Int関数を利用。 Fortranという、コンピュター利用の初めのころの言語から、Intはあるので。 細菌の言語の関数にはMod関数がある。 Sub test02() s = 0 For i = 1 To 10 If i - Int(i / 2) * 2 = 0 Then '2で割った商に2倍したものと等しい=偶数 s = s + i End If Next i MsgBox s End Sub

関連するQ&A

  • プログラミングの問題

    整数nをキーボードから入力し、1からnまでの数のうち奇数だけを加えた和を計算し表示するプログラム ヒント ・変数xが奇数か偶数かは、MOD(x、2)が0か否かで判断できる。 ・FOR~NEXT構文のなかでも、 IF~THEN~ELSE~END IF 構文を使える。 という問題で、 input n let s=0 for i=1 to n までしかわかりませんでした。 いったいこのあとはどうなるのか、教えてください。 おねがいします。

  • 中2レベルの文字式の利用(説明問題です)

    偶数と奇数の和は奇数となる。 この理由を説明する問題です m,nを整数とする。mを使って偶数を表すと2m、nを使って奇数を表すと2n+1となる。よって、偶数と奇数の和は2m+(2n+1)=2(m+n)+1。m+nは整数だから2(m+n)+1は奇数である。したがって、偶数と奇数の和は奇数となる。 これが解答書の回答です 私は、奇数を表す式を2n-1として、偶数と奇数の和は2m+(2n-1)=2(m+n)-1としました この説明でも正解だと思うのですが間違いないでしょうか? このような問題の場合、解答書のほとんどは奇数を2m+1や2n+1と表していますが、例えば 奇数と奇数の和は奇数である。を説明する場合も私は2m-1と2n-1と表して説明します。 明日、数学の期末テストです。 心配になったので質問させてもらいました。 どうか、アドバイスをお願いします。

  • 「偶数・奇数の和」のフローチャート

    「キーボードからnの入力をうながし、1からnまでの和を計算するプログラム」のフローチャートを以下のような形で 学校の情報の時間で作りました。 このようにして、「偶数の和」「奇数の和」のフローチャートを作りたいですがうまくできません。どなたか教えてください!。

  • 偶数と奇数の和は奇数になることを説明しなさい

    中2の数学の問題です。 問題: 偶数と奇数の和は奇数になることを説明しなさい。 問題集の解答で疑問に思う点がありましたので質問させていただきます。 解答: m,nを自然数とすると偶数は2m、奇数は2n-1と表せる。 2数の和は、 2m+2n-1=2(m+n)-1 m+nは自然数だから2(m+n)は偶数になり、2(m+n)-1は奇数になる。 よって偶数と奇数の和は奇数である。 (証明終わり) 上記証明でわからない点が2点あります。 (1)m,nをなぜ自然数に限定しているのか。 m,nは一般に整数ではないのでしょうか?中学レベルではマイナスの数も 偶数、奇数が定義できると思うので、私はこのm,nは整数と置くのが正しい 答え方だと思うのですが、いかがでしょうか? (2)もしm,nが自然数と置くのが正しいとしたとき、奇数を2n+3とおいてしまうと 3(n=1)から始まる奇数になり一般に自然数全体で証明したことにならないの ではないかという疑問があります。 2m+2n+3=2(m+n+1)+1 このような解答も見かけます。 文字式の計算上は奇数といえますが、nが自然数で奇数を2n+3とおいても 問題ないのでしょうか?  ご回答よろしくお願いします。   

  • この数学の問題には公式はあるのでしょうか?

    2以上150以下の整数nに対して、<n>はnの約数の中で2番目に大きい整数を表すことにします。 例えば6の約数は、1,2,3,6なので<6>=3、7の約数は1,7なので<7>=1です。 問1.2以上150以下の全ての偶数nに対する<n>の和、すなわち、<2>+<4>+<6>+・・・・・+<150>を求めなさい。 問2.2以上150以下の全ての3の倍数nに対する<n>の和、すなわち、<3>+<6>+<9>+・・・・・+<150>を求めなさい。 問3.2以上150以下の全ての整数nに対する<n>の和、<2>+<3>+<4>+・・・・・<150>を求めなさい。    なお、2以上150以下の整数nのうち、<n>=1であるものは35個です。 これをそれぞれ解いてみたのですが 全て答えは導いたものの、全問不正解でした・・・・ (全部微妙に正解の±10以内に収まる程度の間違いでした=ただの計算ミスという・・・・) 問1は、それぞれの<n>を書き記しているうちに 答え=1~75の和ということに気づき計算しました。 ただ、計算間違いで・・・採点後、電卓で計算し直したら合いました。 私の導き方としては、1~75までを紙に書き記して、 隣の数字同士を足してという形で出しました。 母曰く公式があるのではないかということですが、 これは開成中学の入試なのですが これを一番間違いにくい方法で答えを導く場合は 1~100までを足した和から100~76までの和を引く方法でしょうか? それとも1~10の和と、1~100の和は覚えておく人も多いかと思いますが(私はそのたびに計算すればいいやというので覚えていませんが・・・) 1~10,1~20,1~30,1~40・・・・と10単位で和を覚えていたりするのでしょうか? (開成中学を受ける人は) 問2はこれも、<n>を書き出している最中に法則性は見いだしたのですが 3の倍数は、奇数、偶数、奇数、偶数・・・となり 倍数が奇数のほうは、<n>が2ずつ増えて、1,3,5,7,・・・・で49まで。(それぞれ3の奇数の倍数を3で割ったものが<n>) 倍数が偶数のほうは、<n>が3ずつ増えて3,6,9,12,15,・・・・75と3の倍数になっている。(それぞれ3の偶数の倍数を半分にしたもの) と分かったのですが、公式あるのかな?と思い、公式があったとしても知らないので 全部を問1の時みたいに足して答えを導き出しました。 (計算ミスはしましたが・・・・。問1、問2ともにそうだったのですが、紙の大きさの関係で、横に20個ぐらいしか数字を書けず、それぞれ20個ずつ数字を書いて、導いて、3桁の数になったものを最後に3~4個ほど足して答えを出したのですが、その最後の3桁の足し算にミスがありました(笑)ちゃんと筆算したんですけどね、パッパとやったもので(笑) (文面で分かるかとは思いますが、実際に受験したわけではないので・・・家で気軽にやってました) 問3は 偶数の部分は問1で導き出したので 後は奇数部分を導いて、問1の答えと足せばいいのですが (問1で計算ミスがあった時点で、これも正解するわけないのですが) 奇数の数字を全部書き出して、それぞれ<n>を求めました。 で、1の数は全部で35個ということで、偶数の<2>が1なので、奇数では全部で34個あるということで 最後まで、<n>を求めて1の数がきちんと奇数内で34個あるかも確認をしました。 結果、1つ55の<n>を5と書いていて・・・・本来は11なので、 答え合わせしたときに、6ずれてると分かり、計算ミスは無かったので 探してやっと、55の<n>が間違っていることに気づき、修正し、納得しました。 これも公式はあるのでしょうか? それぞれ計算ミスは合ったものの解けたし、納得できない点は無かったのですが それぞれ公式とか、もっとやりやすい、簡単な解き方あるのかなと思い質問しました。 ただ、たぶん1時間試験かと思うのですが 意外と問題数が少なく、時間配分的にも、全てを大体均等に時間分けしたら この問題は15分ぐらいですべて解ければいいので、 その時間だと、これ以上簡単な方法は無いのかなとも思ったのですが。 (地道にコツコツ解くしか無いのかな・・・と)

  • 課題のVisualBasicについて質問です

    プログラム初心者です。 VisualBasicについてご教授ください。 課題は、 TextBox1(数値)からTextBox2(数値)の間で、偶数・奇数がそれぞれ何個あるかを求めるアプリを作りなさい。といったものですが、添付画像のところで偶数の個数を出そうとしているのですが、うまく解答を出すことができません。どうぞご教授ください。よろしくお願いいたします。

  • 中2の文字式の利用について

    子供のテストで、文字式を利用して「2つの自然数が偶数と奇数の時、 その和は奇数になるわけ」を説明する問題が出ました。 教科書には偶数は2m,奇数は2n-1で表す例題が出ていますが、子供は偶数は2n,奇数を2n-1として説明しました。その結果、文字をm,nと区別して使っていないということでバツになりました。問題集などを見ると、連続する3つの偶数は2n, 2n+2, 2n+4また奇数は2n-1, 2n+1, 2n+3というようにn だけで表しています。その辺はどう区別して考えればいいのか教えて下さい。

  • 数列の和。偶数奇数に分かれる場合

    よろしくお願いいたいます。 数列の数列の和。偶数奇数に分かれる問題で a2m=4m^2+m a2m-1=4m^2-3m+1 となりました。このn項数までの和を求める問題なのですが、、 項数の設定が良くわかりません。 偶数、奇数とも項数をNでおき、和の公式に当てはめる流れになるのですが 最終的にn項に戻すときに 偶数はn=2Nだから N=1/2nを代入。 奇数はn=2N-1だから N=n+1/2を代入。 まず、項数をn=2N、n=2N-1と置くところがわかりません。 偶数奇数なのだから半分ずつ、1/2nずつではないのですか? また項数をn=2N、n=2N-1と置いたとしいても足す数は最終的にnなのだから 1/2n+n+1/2とnで換算したときに合計がnにならないとおかしいと 感じます。 私は何が理解できていないのでしょうか? 丁寧なご説明をいただけたら幸いです

  • C言語!プログラム書いたのですがエラーです!

    課題内容 キーボードから数字を入力してその値までの合計を表示する。 さらに入力した値が偶数なら0から入力した値までのすべての偶数の和を 入力した値が奇数なら1から入力した値までのすべての奇数の和を表示するプログラム。 #include<stdio.h> int main(void) { int i, n, sum; sum=0; scanf("%d",&n); printf("入力値:%d\n", n); if(n%2 = 0) { for(i=0;i<=n;i+=2) { sum=sum+i; } printf("合計値:%d\n",sum); } else { for(i=1;i<=n;i+=2) { sum=sum+i; } printf("合計値:%d\n",sum); } return(0); } これでコンパイルすると10行目に左辺値が必要とでます。 どうすればよいでしょうか? 教えてください。よろしくお願いします。

  • 整数の問題について

    中学2年のものです。 数学について質問します。整数の問題の説明についてですが、 二つの奇数の和は偶数になることの説明で、その和は、(2m-1)+(2n-1)=2m+2n-2=2(m+n-1)となります。 2m+2n-2から2(m+n-1)にできることについての理解が怪しいので、なぜ2m+2n-2から2(m+n-1)にまとめることができるのか教えてください。また、ほかにもこのような問題が出たときにどのようにしたら上記の計算のようにまとめることができるのかということの説明もいただけたら幸いです。

専門家に質問してみよう