課題

今日の課題は, switch文を使うものはない. (無理矢理使ってもいいけれど…) むしろ, for文関連です.

基礎プロくんでやってみてもらいたい. 最初のは今回の教材ページの例題の応用. あとのふたつは ちょっと考える必要のある問題.

  1. 3 か 7 で割れる数の個数
    整数 n を入力する (n は1以上), 1以上, n以下の整数のうち, 3 か 7 で割れる数の個数を もとめよ. 入力例:
    20
    対応する出力:
    8
  2. データの最小値
    いくつかの整数データを読み込み, そのなかで最小の値を出力するプログラムを作る. 入力は最初の行にデータの個数 n (n は1以上), その次から一行にひとつずつ, n個のデータが与えられる. (データはすべて0以上, 100000000未満とする.) 出力はこのn個のデータのうち, 最小のものを出力する.
    ヒント: 最小値を求めるには, 前に述べた「回数を求める」と 似た方法を使う. まず, 「暫定最小値」を憶えておく変数をひとつ用意し, 次々のデータをその変数と比較して, 新記録があったら その変数の値を更新すればよい. さて, あとはその「暫定最小値」の変数の初期値をどうするか, だ…
    入力例:
    3 2 0 9
    対応する出力:
    0
  3. ピタゴラス
    整数 z を入力する (z は 1以上). z を斜辺とし, 残りの二辺を x, y とする直角三角形で, x, y が整数のものをすべて列挙したい. つまり, (x*x + y*y) が z*z に等しくなる正の整数 x, y の組をすべてもとめる. 出力は一行に一組ずつ, x と y を空白一文字をはさんで出力する. 出力の順は, x の小さいほうから昇順にならべる. (今回は, 平方根などは使わずに解く.) 入力例:
    5
    対応する出力:
    3 4 4 3

[page 5] prev index next