以下のように定義された関数factorial(n)について、表示する(factorial(5))を実行した際の表示結果を答えよ。
(1)定義する factorial(n)
(2)| もし n == 0 ならば:
(3)| | 返す 1
(4)| そうでなければ:
(5)⎿ ⎿ 返す n * factorial(n - 1)
答えを見る
答え120
VIDEO QUESTIONS · 10/10
Q321〜Q330。まず自分で答えを考え、必要なところだけ解説動画で確かめてください。
キーワードは主に関連する分野へ整理しています。この一覧では複数選択のOR検索、各問題に付くキーワードからはその語だけの検索になります。
(1)定義する factorial(n)
(2)| もし n == 0 ならば:
(3)| | 返す 1
(4)| そうでなければ:
(5)⎿ ⎿ 返す n * factorial(n - 1)
答え120
(1)定義する fibo(n)
(2)| もし n <= 2 ならば:
(3)| | 返す 1
(4)| そうでなければ:
(5)⎿ ⎿ 返す fibo(n - 1) + fibo(n - 2)
答え5
(1)tumitate = 1000000 #毎年の追加投資額
(2)kikan = 30 #投資期間(年)
(3)sougaku = 0 #資産総額
(4)i を 1 から kikan まで 1 ずつ増やしながら繰り返す:
(5)| sougaku = sougaku + tumitate
(6)| rimawari = ( ア )
(7)⎿ sougaku = ( イ )
(8)表示する("30年後の資産総額は", sougaku, "円")
( ア ):1以上6未満の実数
1.乱数() * 5
2.乱数() * 6
3.1 + 乱数() * 5
4.1 + 乱数() * 6
( イ )
1.sougaku * rimawari
2.sougaku * rimawari / 100
3.sougaku + sougaku * rimawari
4.sougaku + sougaku * rimawari / 100
答えア 3.1 + 乱数() * 5 イ 4.sougaku + sougaku * rimawari / 100
(1)dosu = [0, ... ,0] #すべての要素が0,十分な要素数
(2)toss = 20, set = 100
(3)i を 1 から set まで 1 ずつ増やしながら繰り返す:
(4)| count = 0
(5)| j を 1 から toss まで 1 ずつ増やしながら繰り返す:
(6)| | もし 乱数() < 0.5 ならば:
(7)| ⎿ ⎿ count = count + 1
(8)⎿ ( ア )
(9)表示する("結果:", dosu)
1.dosu[j] = count
2.dosu[i] = count
3.dosu[count] = count
4.dosu[count] = dosu[count] + 1
答え4.dosu[count] = dosu[count] + 1
(01)Birthdays = [] #空の配列
(02)found = 0 , count = 0
(03)( ア ) の間繰り返す:
(04)| day = ランダム日付()
(05)| count = count + 1
(06)| もし Birthdays に day が含まれている ならば:
(07)| | ( イ )
(08)| そうでなければ:
(09)⎿ ⎿ 要素追加(Birthdays, day)
(10)表示する("同じ誕生日が見つかるまでの回数:", count)
( ア )( イ )
1.found = 0
2.found = 1
3.found == 0
4.found == 1
答えア 3.found == 0 イ 2.found = 1
(01)ninzu = 10000
(02)count1 = 0, count2 = 0
(03)i を 1 から ninzu まで 1 ずつ増やしながら繰り返す:
(04)| もし 乱数() < 0.03 ならば:
(05)| | もし 乱数() < 0.99 ならば:
(06)| | ⎿ ( ア )
(07)| そうでなければ:
(08)| | もし 乱数() < 0.02 ならば:
(09)⎿ ⎿ ⎿ ( イ )
(10)もし count1 > 0 ならば:
(11)| 表示する("検査で陽性のうち実際に罹患している割合は", 100 * count2 / count1, "%")
(12)そうでなければ:
(13)⎿ 表示する("陽性者はいませんでした。")
( ア )( イ )
1.count1 = count1 + 1
2.count2 = count2 + 1
3.count1 = count1 + 1, count2 = count2 + 1
4.count1 = count1 + i, count2 = count2 + i
答えア 3.count1 =count1 + 1, count2 = count2 + 1 イ 1.count1 =count1 + 1
(1)kaisu = 1000
(2)kosu = 0
(3)i を 1 から kaisu まで 1 ずつ増やしながら繰り返す:
(4)| x = 乱数()
(5)| y = 乱数()
(6)| もし x ** 2 + y ** 2 <= 1 ならば:
(7)⎿ ⎿ kosu = kosu + 1
(8)表示する("円周率の推定値は", ( ア ))
1.kosu / kaisu
2.2 * kosu / kaisu
3.4 * kosu / kaisu
4.kosu / kaisu / 4
答え3.4 * kosu / kaisu
(01)kaisu = 1000
(02)X_zahyo = [0], Y_zahyo = [0]
(03)i を 0 から kaisu - 1 まで 1 ずつ増やしながら繰り返す:
(04)| もし 乱数() < 0.5 ならば:
(05)| | y_henka = 1
(06)| そうでなければ:
(07)| ⎿ y_henka = -1
(08)| 要素追加(X_zahyo,( ア ))
(09)⎿ 要素追加(Y_zahyo,( イ ))
(10)プロットする(X_zahyo, Y_zahyo)
( ア )
1.0.1
2.X_zahyo[i - 1] + 0.1
3.X_zahyo[i] + 0.1
4.X_zahyo[i + 1] + 0.1
( イ )
1.y_henka
2.Y_zahyo[i - 1] + y_henka
3.Y_zahyo[i] + y_henka
4.Y_zahyo[i + 1] + y_henka
答えア 3.X_zahyo[i] + 0.1 イ 3.Y_zahyo[i] + y_henka
(01)siire = 20, kikan = 7
(02)zaiko = 0, sinagire = 0
(03)i を 1 から kikan まで 1 ずつ増やしながら繰り返す:
(04)| zaiko = zaiko + siire
(05)| hanbai = ランダム整数(15, 25)
(06)| もし zaiko >= hanbai ならば:
(07)| | ( ア )
(08)| そうでなければ:
(09)| | ( イ )
(10)⎿ ⎿ sinagire = sinagire + 1
(11)表示する("7日目終了時点の在庫数:", zaiko)
(12)表示する("品切れを起こした日数:", sinagire)
( ア )( イ )
1.zaiko = zaiko + hanbai
2.zaiko = zaiko - hanbai
3.zaiko = hanbai
4.zaiko = 0
答えア 2.zaiko = zaiko - hanbai イ 4.zaiko = 0
(01)営業終了時刻 = 900
(02)現在時刻 = 0
(03)利用時間 = 0 #利用時間が0ならば利用可能状態
(04)待ち客数 = 0 #現在の待っている人数
(05)総待ち時間 = 0 #複数人いる場合重複して数える
(06)顧客数 = 0 #来客者数全体
(07)現在時刻 < 営業終了時刻 の間繰り返す:
(08)| もし 乱数() < 0.1 ならば:
(09)| | 待ち客数 = 待ち客数 + 1
(10)| ⎿ 顧客数 = 顧客数 + 1
(11)| もし 利用時間 > 0 なばら:
(12)| ⎿ 利用時間 = 利用時間 - 1
(13)| もし ( ア ) ならば:
(14)| | 利用時間 = ランダム(2, 6)
(15)| ⎿ 待ち客数 = 待ち客数 - 1
(16)| もし 待ち客数 > 0 ならば:
(17)| ⎿ 総待ち時間 = 総待ち時間 + 待ち客数
(18)⎿ 現在時刻 = 現在時刻 + 1
(19)表示する("本日の来客者数:", 顧客数)
(20)表示する("平均待ち時間", 総待ち時間 / 顧客数)
( ア )
1.待ち客数 > 0
2.利用時間 == 0
3.待ち客数 > 0 and 利用時間 == 0
4.待ち客数 > 0 or 利用時間 == 0
答え3.待ち客数 > 0 and 利用時間 == 0