您的位置:首页 > 编程语言

南邮编程在线编程题五:输出所有的3位数字的质数

2015-10-21 13:06 351 查看
题目转自南邮编程在线:njupt.housecode.cc

以每行 5 个的形式输出所有的 3 位数字的质数。
说明:( 1 )每个质数按 ”%6d” 格式输出。
( 2 )最后一个质数后面要输出一个换行符。
无输入,输出结果如下 :
101 103 107 109 113

127 131 137 139 149

151 157 163 167 173

179 181 191 193 197

199 211 223 227 229

233 239 241 251 257

263 269 271 277 281

283 293 307 311 313

317 331 337 347 349

353 359 367 373 379

383 389 397 401 409

419 421 431 433 439

443 449 457 461 463

467 479 487 491 499

503 509 521 523 541

547 557 563 569 571

577 587 593 599 601

607 613 617 619 631

641 643 647 653 659

661 673 677 683 691

701 709 719 727 733

739 743 751 757 761

769 773 787 797 809

811 821 823 827 829

839 853 857 859 863

877 881 883 887 907

911 919 929 937 941

947 953 967 971 977

983 991 997

代码如下:

#include <stdio.h>
#include <math.h>
int isPrime(int j);
int main()
{
	int i, count = 0;
	for(i = 100; i < 1000; i++){
		if(isPrime(i)){
			printf("%6d", i);
			count++;
			if(count%5 == 0)
				printf("\n");	
		}
		if(i >= 999)
			printf("\n");
	}
	return 0;
}

int isPrime(int i)                          //判断是否为质数 
{
	int j = 1, k;
	for(k = 2; k <= sqrt(i); k++){
		if(i % k == 0){
			j = 0;
			break;
		}
	}
	return j;
}


本题主要考察了for循环和质数的判断

注意:质数的判断有多种,k <= sqrt(i)是最小的算法时间复杂度
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: