このディレクトリの索引

# C/C++の宿題を片付けます 113代目 (レス番号37) # [1] 授業単元: プログラミング # [2] 問題文(含コード&リンク):1から999までの整数を入力 その読み方をを表示するプログラムを書け # 1から999でない場合エラーを表示せよ 数値の読み方(N,エラー) :- N < 1,!. 数値の読み方(N,エラー) :- N >= 1000,!. 数値の読み方(0,''). 数値の読み方(1,いち). 数値の読み方(2,に). 数値の読み方(3,さん). 数値の読み方(4,よん). 数値の読み方(5,ご). 数値の読み方(6,ろく). 数値の読み方(7,なな). 数値の読み方(8,はち). 数値の読み方(9,きゅう). 数値の読み方(N,S) :- '10から19までの読み方'(N,S),!. 数値の読み方(N,S) :- '20から99までの読み方'(N,S),!. 数値の読み方(N,S) :- '100から199までの読み方'(N,S),!. 数値の読み方(N,S) :- '300から399までの読み方'(N,S),!. 数値の読み方(N,S) :- '800から899までの読み方'(N,S),!. 数値の読み方(N,S) :- 'その他の100から999までの間の数値の読み方'(N,S),!. '10から19までの読み方'(N,S) :- between(10,19,N), '「じゅう」と発音する'(N,S). '「じゅう」と発音する'(N,S) :- N1 is N - 10, 数値の読み方(N1,S1), atomic_list_concat([じゅう,S1],S). '20から99までの読み方'(N,S) :- between(20,99,N), '間は「じゅう」と発音する'(N,S). '間は「じゅう」と発音する'(N,S) :- N1 is N // 10, M1 is N mod 10, 数値の読み方(N1,S1), 数値の読み方(M1,S2), atomic_list_concat([S1,じゅう,S2],S). '100から199までの読み方'(N,S) :- between(100,199,N), '頭から「ひゃく」と発音する'(N,S). '頭から「ひゃく」と発音する'(N,S) :- N1 is N - 100, 数値の読み方(N1,S1), atomic_list_concat([ひゃく,S1],S). '300から399までの読み方'(N,S) :- between(300,399,N), '「びゃく」と発音する'(N,S). '「びゃく」と発音する'(N,S) :- M1 is N mod 100, 数値の読み方(M1,S2), atomic_list_concat([さんびゃく,S2],S). '800から899までの読み方'(N,S) :- between(800,899,N), '「はっぴゃく」が頭に来る'(N,S). '「はっぴゃく」が頭に来る'(N,S) :- M1 is N mod 100, 数値の読み方(M1,S2), atomic_list_concat([はっぴゃく,S2],S). 'その他の100から999までの間の数値の読み方'(N,S) :- between(200,999,N), '間に「ひゃく」が来て、その後は十の桁の読み方になる'(N,S). '間に「ひゃく」が来て、その後は十の桁の読み方になる'(N,S) :- N1 is N // 100, M1 is N mod 100. 数値の読み方(N1,S1), 数値の読み方(M1,S2), atomic_list_concat([S1,ひゃく,S2],S).