![]()
平成14年 秋期 基本情報技術者 午後 問06
問06 C言語
〔プログラムの説明〕 (1) 自然数 num(num≧2)を素因数に分解し, 結果を次の例のように印字するプログラムである。 例1.自然数 12 を入力した場合 数値(2以上の自然数)を入力してください。 : 12 12 = 2 × 2 × 3 例2.自然数3を入力した場合 数値(2以上の自然数)を入力してください。 : 3 3 = 素数 (2) 素因数分解及び素数の判定手順は,次のとおりである。 @ 変数 factor の値を2から始めて1ずつ増やしながら, num を factor で割った結果が factor 以上である間,Aを実行する。 A num が factor で割り切れる場合,次の処理を num が
factor で割り切れなくなるまで繰り返す。
B 最終的に割り切る factor がなかった場合には,num は素数であると判定する。 (3) このプログラムでは,(2) の手順@ での繰返し処理の回数を減らすために, まず最初に自然数 num が2の倍数であるかどうかを判定する。 num が2の倍数の場合には,(2) の手順A によって,最初に2の因子をすべて抽出する。 続いて,変数 factor の値を,3から始めて2ずつ増やしながら, num を factor で割った結果が factor 以上である間,素因数の抽出を繰り返す。 〔プログラム〕 (行番号) 1 #include <stdio.h> 2 #define TRUE 1 3 #define FALSE 0 4 main() 5 { 6 int num, prime = TRUE, factor = 2; 7 printf( "数値(2以上の自然数)を入力してください。 : " ); 8 scanf( "%d", &num ); 9 printf( "%d =", num ); 10 if ( num != factor ) 11 while ( num % factor == 0 ) { /* 数値が2の倍数? */ 12 if ( prime == FALSE ) printf( " ×" ); 13 printf( " %d", factor ); 14 設問
プログラム中の
a,c に関する解答群 ア factor-- イ factor += 2 ウ num /= factor エ num %= factor オ prime = FALSE カ prime = TRUE b に関する解答群 ア num / factor >= factor イ num % factor != 0 ウ prime == FALSE エ prime == TRUE d に関する解答群 ア factor イ num / factor ウ num % factor エ num オ prime
[←前の問題] [次の問題→] [問題一覧表] [分野別] [基本情報技術者試験TOP ]
©2004-2024 情報処理試験.jp
|
プライバシーポリシー・著作権・リンク
|
お問合わせ
|