小テスト
2010.6.7

Back


1桁の正の整数を乱数を用いて発生させて,その約数を全て表示するプログラム を作成しましょう.表示は以下のようになるものとします.

Obtained number: 8
Divisors: 1, 2, 4, 8

注意

1とその数自身は必ず約数です.

おまけ

解答が分からない,出来ない,という人は,出来るところまで(例えば 適切な乱数の発生まで,等)やって,その後,コンパイルエラーの出ない状態に しておいて解答を提出してください.また,その際に printf 文を使 用して,実行すると「わかりません」などと出力するようにしてあると採点上助かりますの で,部分点がつきます.

解答用紙


解答例

/* ************************************************** */
/*                                                    */
/*      情報科学演習 C6 C7                            */
/*      小テスト                                      */
/*      2010.6.7                                      */
/*                                                    */
/* ************************************************** */
/*                                                    */
/*      学生番号:                                    */
/*                                                    */
/*      氏名:                                        */
/*                                                    */
/* ************************************************** */
/*                                                    */
/*      この行以降に解答のプログラムを書くこと        */

#include <stdio.h>
#include <stdlib.h>
#include <time.h>

main()
{
	srand((unsigned) time(NULL));
	
	int num;
	
	num = rand() % 9 + 1;
	
	printf("Obtained number: %d\n", num);
	printf("Divisors: 1");
	
	if(num % 2 == 0)
		printf(", 2");
	if(num % 3 == 0)
		printf(", 3");
	if(num % 4 == 0)
		printf(", 4");
	if(num % 5 == 0)
		printf(", 5");
	if(num % 6 == 0)
		printf(", 6");
	if(num % 7 == 0)
		printf(", 7");
	if(num % 8 == 0)
		printf(", 8");
	if(num % 9 == 0)
		printf(", 9");
		
	printf("\n");
	
	return(0);
}


戻る