2000字范文,分享全网优秀范文,学习好帮手!
2000字范文 > C语言——判断一个数字是否为质数(素数)!

C语言——判断一个数字是否为质数(素数)!

时间:2019-11-27 03:12:10

相关推荐

C语言——判断一个数字是否为质数(素数)!

判断一个数字是否为质数(素数)!

---------首先要知道质数的定义。

质数:只能被1或者自身整除的数字,0和1都不是质数。

思路:利用循环进行多次判断,具体我在下面的代码中都有解释。大家可以看看,有别的想法也可以提出来一起讨论。

#include<stdio.h>int main(){int num,i,count=0;printf("请输入一个整数:");scanf("%d",&num);if(num==0){printf("%d不是一个质数!",num);}for(i=2;i<=num/2;i++){if(num%i==0){count++;break;}}if(num!=1 && count==0){printf("%d是一个质数!\n",num);}else{printf("%d不是一个质数!\n",num);}return 0;}

我这个代码是在Linux下运行的,如果要在C-Free5运行的话输出会有乱码。将输入和输出的中文改成英文即可。代码如下:

#include<stdio.h>int main(){int num,i,count=0;//定义变量并且赋值 ,count记录这些数字有没有能够整除num的 printf("Enter a number:");scanf("%d",&num);//读入数据 if(num==0){printf("%d不是一个质数!",num);}//0不是质数,所以判断输入的数字是否为0 for(i=2;i<=num/2;i++){//循环,因为1不是质数,所以i从2开始循环,i要小于num/2 if(num%i==0){//判断num能否被整除 count++;//若可以,加1 break;//直接跳出循环,已经找到一个,没有必要再继续循环了 }}if(num!=1 && count==0){//判断是否满足质数的条件 printf("%d is a zhishu!\n",num);}else{printf("%d isn't a zhishu!\n",num);}return 0;}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。