• 締切済み

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

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

みんなの回答

回答No.2

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

  • imogasi
  • ベストアンサー率27% (4737/17070)
回答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

専門家に質問してみよう