博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
题目1044: 素数判定
阅读量:4105 次
发布时间:2019-05-25

本文共 778 字,大约阅读时间需要 2 分钟。

题目描述

给定一个数n,要求判断其是否为素数(0,1,负数都是非素数)。

 

输入

测试数据有多组,每组输入一个数n。

 

输出

对于每组输入,若是素数则输出yes,否则输入no。

 

样例输入
13
 

样例输出
yes
 

提示 [+]

*** 提示已隐藏,点击上方 [+] 可显示 ***

 

来源

 
/********************************* *   日期:2013-3-19*   作者:SJF0115 *   题号: 题目1044: 素数判定*   来源:http://ac.jobdu.com/problem.php?pid=1044*   结果:AC *   来源:*   总结: **********************************/ #include
#include
//判断是否是一个素数int IsPrime(int a){ //0,1,负数都是非素数 if(a <= 1){ return 0; } //计算枚举上界,为防止double值带来的精度损失,所以采用根号值取整后再加1,即宁愿多枚举一个,也不愿少枚举一个数 int bound = (int)sqrt(a) + 1; for(int i = 2;i < bound;i++){ //依次枚举这些数能否整除x,若能则必不是素数 if(a % i == 0){ return 0; } } return 1;}int main (){ int a; while(scanf("%d",&a) != EOF){ if(IsPrime(a) == 0){ printf("no\n"); } else{ printf("yes\n"); } }//while return 0;}

转载地址:http://zucsi.baihongyu.com/

你可能感兴趣的文章