平成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-2025 情報処理試験.jp
|
プライバシーポリシー・著作権・リンク
|
お問合わせ
|
