Rubyプログラミング

問題番号 問題 ヒント 回答
1
1から10までの整数を出力するプログラムを
while文を用いて書きなさい
なし
回答
2
整数n(n>0)を読み込み,1からnまでの整数を出力する
プログラムをwhile文を用いて書きなさい
なし
回答
3
1から10までの整数を合計し,合計値を出力する
プログラムをwhile文を用いて書きなさい
なし
回答
4
整数n(n>0)を入力し,1からnまでの整数を合計し,合計値を
出力するプログラムをwhile文を用いて書きなさい
(参考)繰り返し制御構造を利用しない場合
n=gets.to_i
printf( "1から%dまでの合計値は%dです\n" , n , n*(n+1)/2 )
回答
5
1からnまでの整数を合計する際,始めて合計値が100を越える
整数nを求めるプログラムをwhile文を用いて書きなさい
i = 1
sum = 0
limit = 100;
while true do
	# 下記を埋めよ	

end
printf( "上限は%dです\n" , i )
回答
6
1から100までの整数で,偶数のみを出力するプログラムを
whileを用いて書きなさい
なし
回答
7
1から100までの偶数を合計をするプログラムをwhileを
用いて書きなさい
なし
回答
8
1からnまでの奇数を合計する際,始めて合計値が100を越える
奇数nを求めるプログラムをwhile文を用いて書きなさい
なし
回答
9
二つの整数mとn(m>0,n>0)を読み込みmのn乗を
求めるプログラムをwhile文を用いて書きなさい
m = gets.to_i
n = gets.to_i
i = 1
answer = 1
while i <= n  do
	#  下記を埋めよ

end
printf( "%dの%d乗は%dです\n" , m , n , answer )
回答
10
整数n(n>0)を読み込み,nの階乗を求めるプログラムを
while文を用いて書きなさい
n = gets.to_i
i = 1
answer = 1
while i <= n  do
	# 下記を埋めよ

end
printf( "%dの階乗は%dです\n" , n , answer )
回答
11
整数n(n>0)を読み込み,2で割り切れる回数を
while文を用いて書きなさい
n = gets.to_i
i = 0
m = n
while true do
	# 下記を埋めよ

end
printf( "%dは%i回,2で割り切れます\n" );
回答
12
上記の11のプログラムにおいて,2で割る度にその余りを
出力するようにプログラムを改良しなさい.
(二進数の出力)
n = gets.to_i
i = 0
m = n
while true do
	# 下記を埋めよ

end
回答
13
文字列を入力し,その文字列がqでない限り,その文字列を出力する
ということを繰り返すプログラムをwhile文を用いて書きなさい
while true do
	line = gets.chomp
	# 下記を埋めよ

	printf( "%s\n" , line );
end
回答
14
整数(n>0)を入力し,nまでの奇数の合計値を求める
プログラムをwhile文を用いて書きなさい.
n = gets.to_i
i = 1
sum = 0;
while 条件式 do
	# 下記を埋めよ

end
printf( "%dまでの奇数の合計は%dです\n" , n , sum )
回答
15
上記の14のプログラムをupto文を用いて書きなさい.
なし
回答
16
上記の14のプログラムをstep文を用いて書きなさい.
なし
回答
17
整数n(n>0)を読み個み,nが素数かどうかを判定するプログラムを
while文を用いて書きなさい.
なし
回答
18
10個の乱数(100未満の整数)を生成し,その中から最小値を求める
プログラムを書きなさい.
n = 10
min = 99999;
i = 1
while i <= n do
	a = rand( 100 ).to_i
	printf( "%d番目の乱数は%dです\n" , i , a );
	# 下記を埋めよ

	i += 1	
end
printf( "-----------\n" );
printf( "最小値は%dです\n" , min );
回答
19
10個の乱数(100未満の整数)を生成し,その中から最大値を求める
プログラムを書きなさい.
n = 10
max = 0
i = 1
while i <= n do
	a = rand( 100 ).to_i
	printf( "%d番目の乱数は%dです\n" , i , a );
	# 下記を埋めよ

	i += 1	
end
printf( "-----------\n" );
printf( "最大値は%dです\n" , max );
回答
20
10個の乱数(100未満の整数)を生成し,最小値,最大値,平均値
を求めるプログラムを書きなさい.
n = 10
max = 0
min = 99999
i = 1
sum = 0
while i <= n do
	a = rand( 100 ).to_i
	printf( "%d番目の乱数は%dです\n" , i , a );
	# 下記を埋めよ

	i += 1	
end
printf( "-----------\n" );
printf( "最大値は%dです\n" , max );
printf( "最小値は%dです\n" , min );
printf( "平均値は%dです\n" , sum / n );

回答
21
問題13を改良し,複数個の整数を入力し,合計値と平均値を
求めるプログラムをwhile文を用いて書きなさい.
最後にqを入力することによって入力の終了とする.
n = 0;
sum = 0;
while true do
	line = gets.chomp
	# 下記を埋めよ


end
printf( "合計は%d,平均は%dです\n" , sum , sum / n )
回答
22
x=0,1,2・・・,10とした際,y=x^2(xの二乗)を表示する
プログラムをwhile文を用いて書きなさい.
なし
回答
23
x=0,1,2・・・,10,y=0,1,2・・・,10,とした際,z=x^2+y^2-xyを
表示するプログラムをwhile文(二重ループ)を用いて書きなさい.
x = 0
y = 0
limit = 10
while x <= limit do
	# 下記を埋めよ

end
回答
24
上記の23のプログラムにおいて,xとyの値が等しい場合,
z=0と出力するようにプログラムを書き直しなさい.
なし
回答
25
x=0,1,2・・・,10,y=0,1,2・・・,10,z=0,1,2・・・,10とした際,
w=x^2+y^2+z^2-xyzを表示するプログラムをwhile文(三重ループ)
を用いて書きなさい.
x = 0
y = 0
z = 0
limit = 10
while x <= limit do
	# 下記を埋めよ

end
回答
26
上記の25のプログラムをupto文を用いて書き直しなさい.
limit = 10
0.upto(limit) do |x|
	# 下記を埋めよ

end
回答