以下の問に答えよ。
下に示すように、正の整数 n をキーボードから受け取って、1 から n までの整数を表示し、区切りとして、各数の後に _ を表示するが、
5 で割り切れる整数のあとは _ の代わりに * を
8 で割り切れる整数のあとは _ あるいは * のあとに改行(\n)を
一番最後にも改行(\n)を
出力するプログラムを作成せよ。
(n として負の数または 0 を受け取ったときは、最後の改行のみ表示する。)
以下の実行例では、改行を出力しているところを
↵ で示している。
正の整数を入力してください: 18↵ 1_2_3_4_5*6_7_8_↵ 9_10*11_12_13_14_15*16_↵ 17_18_↵実行例 2:
正の整数を入力してください: 45↵ 1_2_3_4_5*6_7_8_↵ 9_10*11_12_13_14_15*16_↵ 17_18_19_20*21_22_23_24_↵ 25*26_27_28_29_30*31_32_↵ 33_34_35*36_37_38_39_40*↵ 41_42_43_44_45*↵実行例 3:
正の整数を入力してください: 0↵ ↵実行例 4:
正の整数を入力してください: 1↵ 1_↵
下に示すように、0 以上の数 n をキーボードから受け取って、
ディスプレイ上に、一番最初に begin と表示し、余分な空行を開けずに、
次の行に空白を n- 1 個表示したあとに、数字を 1 個表示し、下に行くにつれて空白が 1 つずつ少なくなって、
その代わりに右側の数字が 1 文字ずつ長くなっていき、最後に数字が n 個になった行で終了するプログラムを作成せよ。
最後に(空行をあけず)end と表示せよ。右側に表示する数字は 98765432109876…
を繰り返すようにせよ。
(n として負の数または 0 を受け取ったときは、begin 〜 end のみ表示する。)
以下の実行例では、改行を出力しているところを
↵ で示している。
非負の整数を入力してください: 5↵ begin↵ 9↵ 87↵ 654↵ 3210↵ 98765↵ end↵実行例 2:
非負の整数を入力してください: 13↵ begin↵ 9↵ 87↵ 654↵ 3210↵ 98765↵ 432109↵ 8765432↵ 10987654↵ 321098765↵ 4321098765↵ 43210987654↵ 321098765432↵ 1098765432109↵ end↵実行例 3:
非負の整数を入力してください: 0↵ begin↵ end↵
正の、2 の倍数でも 3 の倍数でもない数
\[ 1, 5, 7, 11, 13, 17, 19, 23, 25, 29 \ldots\]
の小さいほうの最初の n 個の和を求めて返す関数 int sumn23(int n) を作成せよ。
例えば sumn23(3) は \(1 + 5 + 7 = 13\)、 sumn23(10) は
\(1 + 5 + 7 + 11 + 13 + 17 + 19 + 23 + 25 + 29= 150\) である。
また、main 関数は、このsumn23 関数を呼び出して、sumn23(0),
sumn23(5), sumn23(10), sumn23(15), sumn23(50),
sumn23(100) の値を
sumn23(0) = 0 sumn23(5) = 37 sumn23(10) = 150 sumn23(15) = 337 sumn23(50) = 3750 sumn23(100) = 15000
のように表示せよ。(以下に main 関数のテンプレートを掲載する。)
int 型の配列 v を受け取り、
v[i] が 60 未満となるような最後の添字 \(i\) を返す関数
int bar(const int v[]) を定義せよ。
ただし、この関数は引数として配列の要素数を受け取らず、配列にヘッダー limits.h
に定義されているマクロ INT_MIN に等しい要素が現れたら、
その直前の要素を配列の最後の有効な要素と見なす。
v[i] がなければ、-1 を返すようにせよ。
main 関数は以下のコードを利用して、確認せよ。
この場合、プログラムは、
bar(vx) = 3 です。 bar(vy) = 5 です。 bar(vz) = 0 です。 bar(vw) = -1 です。
と出力する。(vx, vy, vz, vw をいろいろ変えて試してみよ。 )
整数 \(n\) を引数として受け取って、\( n \le i < n ^ 2 \) を満たす
整数 \(i\) で \(i \cdot(i - 1) \) が 5 で割って 2 余るもののリストを返す関数
chome をリスト内包表記を使って Python で定義せよ。(
余りを求める演算子は Python でも「%」である。)
例えば、chome(3) は [4, 7] を、
chome(5) は [7, 9, 12, 14, 17, 19, 22, 24]
を返す。