怎么用c语言判断一个数是不是素数

作者&投稿:锻娥 (若有异议请与网页底部的电邮联系)
如何用c语言编程判断一个数是不是素数?~

方法一:
#include<stdio.h>
int main(){
int i,j;
printf("请输入一个正整数。\n");
scanf("%d",&i);
if(i<2)
printf("小于2,请重新输入。\n");
elseif(i%2==0)
printf("%d不是一个素数。\n",i);
else{
for(j=2;j<=i/2;j++){
if(i%j==0){
printf("%d不是一个素数。\n",i);
break;

if(j>i/2){
printf("%d是一个素数。\n",i);
break;




方法二:
#include<stdio.h>
int main(){
int a=0;
int num=0;
scanf("%d",&num);
for(inti=2;i<num-1;i++){
if(num%i==0){
a++;


if(a==0){
printf("YES\n");
}else{
printf("NO\n");



方法三:
#include"stdio.h"
int main(){
printf("\t\t\t\t\thelloworld\n");
int a,i;
do{
printf("inputnumberjudgeprimenumber:\n");
scanf("%d",&a);
for(i=2;i<a;i++)
if(a%i==0)break;
if(i==a)
printf("%d是素数\n",a);
else
printf("%d不是素数\n",a);
}while(a!=0);

判断一个整数m是否是素数,只需把m被 2 ~ m-1 之间的每一个整数去除,如果都不能被整除,那么m就是一个素数。思路1)的代码:
#include
int main(){
int a=0; // 素数的个数
int num=0; // 输入的整数
printf("输入一个整数:");
scanf("%d",&num);
for(int i=2;i<num;i++){if(num%i==0){a++; // 素数个数加1}}
if(a==0){printf("%d是素数。
", num);}else{printf("%d不是素数。
", num);}return 0;}
判断方法还可以简化。m不必被 2 ~ m-1 之间的每一个整数去除,只需被 2 ~ 之间的每一个整数去除就可以了。如果m不能被 2 ~ 间任一整数整除,m必定是素数。例如判别17是是否为素数,只需使17被2~4之间的每一个整数去除,由于都不能整除,可以判定17是素数。思路2)的代码:
#include
#include
void main(){int m; // 输入的整数
int i; // 循环次数
int k; // m 的平方根
printf("输入一个整数:");
scanf("%d",&m);
// 求平方根,注意sqrt()的参数为 double 类型,这里要强制转换m的类型
k=(int)sqrt( (double)m );
for(i=2;i<=k;i++)
if(m%i==0)
break;
// 如果完成所有循环,那么m为素数
// 注意最后一次循环,会执行i++,此时 i=k+1,所以有i>k
if(i>k)
printf("%d是素数。
",m);
else
printf("%d不是素数。
",m);
return 0;}

方法一:

#include<stdio.h>

int main(){

int i,j;

printf("请输入一个正整数。\n");

scanf("%d",&i);

if(i<2)

printf("小于2,请重新输入。\n");

elseif(i%2==0)

printf("%d不是一个素数。\n",i);

else{

for(j=2;j<=i/2;j++){

if(i%j==0){

printf("%d不是一个素数。\n",i);

break;

if(j>i/2){

printf("%d是一个素数。\n",i);

break;

方法二:

#include<stdio.h>

int main(){

int a=0;

int num=0;

scanf("%d",&num);

for(inti=2;i<num-1;i++){

if(num%i==0){

a++;

if(a==0){

printf("YES\n");

}else{

printf("NO\n");

方法三:

#include"stdio.h"

int main(){

printf("\t\t\t\t\thelloworld\n");

int a,i;

do{

printf("inputnumberjudgeprimenumber:\n");

scanf("%d",&a);

for(i=2;i<a;i++)

if(a%i==0)break;

if(i==a)

printf("%d是素数\n",a);

else

printf("%d不是素数\n",a);

}while(a!=0);



解释如下:
#include"stdio.h"
#include"math.h"
main()
{
int
i,k,m;
//定义三个整形变量
scanf("%d",&i);
//输入i的值
k=sqrt(i);
//把输入的i的值的平方根的值赋值给k
for(m=2;m<=k;m++)
//从2开始进入循环,判断从2到k之间的数是否能被i整除
if(i%m==0)
//如果能被2整除则用break跳出循环
break;
if(m>k)
//判断通过循环后的m的值是否比k大,如果比k大则i是素数
printf("%d是素数
",i);
else
//如果不是则i不是素数
printf("%d不是素数",i);
getch();
}

解释如下:
#include"stdio.h"
#include"math.h"
main()
{
int
i,k,m;
//定义三个整形变量
scanf("%d",&i);
//输入i的值
k=sqrt(i);
//把输入的i的值的平方根的值赋值给k
for(m=2;m<=k;m++)
//从2开始进入循环,判断从2到k之间的数是否能被i整除
if(i%m==0)
//如果能被2整除则用break跳出循环
break;
if(m>k)
//判断通过循环后的m的值是否比k大,如果比k大则i是素数
printf("%d是素数
",i);
else
//如果不是则i不是素数
printf("%d不是素数",i);
getch();
}

解释如下:
#include"stdio.h"
#include"math.h"
main()
{
int
i,k,m;
//定义三个整形变量
scanf("%d",&i);
//输入i的值
k=sqrt(i);
//把输入的i的值的平方根的值赋值给k
for(m=2;m<=k;m++)
//从2开始进入循环,判断从2到k之间的数是否能被i整除
if(i%m==0)
//如果能被2整除则用break跳出循环
break;
if(m>k)
//判断通过循环后的m的值是否比k大,如果比k大则i是素数
printf("%d是素数
",i);
else
//如果不是则i不是素数
printf("%d不是素数",i);
getch();
}

最佳方案是用素数分布来处理,在处理大素数时尤其合理,用算术基本定理可能太慢了。如果知道素数分布相关知识,编出来还是很容易的,不然告诉你也是白搭。


怎么用c语言判断一个数是不是素数
方法一:#include<stdio.h> int main(){ int i,j;printf("请输入一个正整数。\n");scanf("%d",&i);if(i<2)printf("小于2,请重新输入。\n");elseif(i%2==0)printf("%d不是一个素数。\n",i);else{ for(j=2;j<=i/2;j++){ ...

用c语言编写一个程序:判断一个数n能否同时被3和5整除
include void main(){ int n;printf("input:\\n");scanf("%d",&n);if(n%3==0&&n%5==0)printf("yes\\n");else printf("no\\n");return;}

C语言中如何判断一个数是完全平方数
需要准备的材料分别有:电脑、C语言编译器。1、首先,打开C语言编译器,新建初始.cpp文件,例如:test.cpp。2、其次,在test.cpp文件中,输入C语言代码:int a = 64;double c = sqrt(a);if (c == int(c))printf("是完全平方数");else printf("不是完全平方数");3、编译器运行test.cpp...

用c语言设计一个程序判断一个5×5矩阵是否为对称矩阵。谢谢!!!_百度知...
a == 0 ? printf("你输入的不对称\\n"):printf("你输入的对称\\n"); system("pause"); Milk桀骜长裤 | 发布于2016-08-18 举报| 评论 0 2 为您推荐: c语言矩阵运算 c语言矩阵相乘 c语言矩阵转置 c语言矩阵输入规则 C语言图形的旋转 C语言输出矩阵 C语言比大小 判断上三角矩阵c语言 判...

用C语言如何判断素数?
素数又称质数,所谓素数是指除了 1 和它本身以外,不能被任何整数整除的数,例如17就是素数,因为它不能被 2~16 的任一整数整除。思路1、判断一个整数m是否是素数,只需把 m 被 2 ~ m-1 之间的每一个整数去除,如果都不能被整除,那么 m 就是一个素数。思路2、判断方法还可以简化。m 不必...

C语言:输入一个数,判断这个数是奇数还是偶数
03 接下来我们在主函数中实现奇数和偶数的判断,如下图所示,通过scanf先让用户输入一个数,然后将这个数和2进行取余,余数为0的是偶数,否则是奇数 04 运行程序以后,在控制台我们输入一个数,然后控制台会立即告诉我们输入的数是奇数还是偶数,如下图所示 ...

c语言中判断一个输入的数为偶数还是奇数的程序怎么编写
2、按“i”进入输入模式,开始编写程序,因为linux下输入中文还要进行其他设置,所以是在notepad++下编辑的。3、先定义一个整数a。4、判断a是否能被2整除,即a对2取余是否为0,为0则此数为偶数,反之为奇数。5、编写完c程序后,保存c文件,然后进行gcc编译。6、编译通过后,运行程序(“.\/+文件”...

c语言怎么判断一个数是不是整数
方法1:include<stdio.h> include<math.h> float x;...if(fabs(x-(int)x)<1e-8)printf(“x是一个整数\\n”);else printf(“x不是一个整数\\n”);方法2:int c=(int)b,d=(int)(b+0.999999)if(c==d)printf(“是整数\\n”);else printf(“不是整数\\n”);方法3:float b;...if...

c语言编程如何判断输入的一个数是否是5的倍数
C语言编程判断输入的一个数是否是5的倍数,编写方法如下图:C语言的主要特点:简洁紧凑、灵活方便。C语言一共只有40个关键字,9种控制语句,程序书写形式自由,区分大小写。把高级语言的基本结构和语句与低级语言的实用性结合起来。C语言可以像汇编语言一样对位、字节和地址进行操作,而这三者是计算机最...

在C语言中如何判断一个数能否被另一个数整除
include <stdio.h> int main(){ int target = 10;int divisor = 3;if (target%divisor==0){ printf("Yes");}else{ printf("No");} return 0;} 用%来判断,即取余,如果没余数的话就是能被整除。

涞水县15745848115: 用c语言编写:判断一个数是否为素数 -
靳浦氨苄: 判断素数的方法很多. 以数学方法为例,按照数学规则,如果在2~n-1中存在因子,则n不是素数.否则n为素数. 参考代码如下: int is_prime(int n)//判断n是否为素数.{ int i; for(i = 2; i < n; i ++)//按照数学规则,如果在2~n-1中存在因子,则...

涞水县15745848115: 编写一个C语言程序判断一个数是否是素数 -
靳浦氨苄:[答案] #include int is_p(int x) { int i; if(x

涞水县15745848115: 如何编写一个C语言程序判断一个数是否是素数? -
靳浦氨苄: 1. 思路1: 判断一个整数m是否是素数,只需把m被 2 ~ m-1 之间的每一个整数去除,如果都不能被整除,那么m就是一个素数.代码如下: #include <stdio.h> int main(){ int a=0; // 素数的个数 int num=0; // 输入的整数 printf("输入一个整数...

涞水县15745848115: 求C语言编程,判断一个数是不是素数 -
靳浦氨苄: 用6n+1,6n-1,判断简单.筛选法也可以 给出筛选法的代码 #include <stdio .h>#define MAXSIZE 200 #define DELETED 1 #define KEPT 0void main(void) {int sieve[MAXSIZE+1]; /* 待筛数组 */int count = 1; /* 素数总数 */int prime;int i, k;...

涞水县15745848115: 用C语言如何判断素数 -
靳浦氨苄: 所谓素数是指除了1和它本身以外,不能被任何整数整除的数,例如17就是素数,因为它不能被2~16的任一整数整除.因此判断一个整数m是否是素数,只需把m被2~m-1之间的每一个整数去除,如果都不能被整除,那么m就是一个素数 另外判...

涞水县15745848115: C语言中怎么判断一个数是否是素数 -
靳浦氨苄: 原发布者:邂逅枫林 } if(i==val) printf("YES!\n"); else printf("No!\n");}注:for循环的功能:①若能整除,通过break跳出函数②若一直到val-1都不能整除,此时i再自增1到val,不满足i<val跳出for循环,这时i=val.2.通过函数来判断/* 目的:...

涞水县15745848115: C语言:判断某个整数是不是素数. -
靳浦氨苄: #include"stdio.h" int main(void) { int x,y,t=0; printf("请输入一个整数(1<x<32767):\n"); scanf("%d",&x); if(x<1||x>32767) printf("您的输入有误!\n"); else { for(y=2;y<x-1;y++) if(x%y==0) printf("%d NO!\n",x),y=x+2,t=0;//y=x+2是为了提前退出循环 else t=1; }if (t==1) {printf("%d YES!\n",x); } getch(); return 0;}

涞水县15745848115: 用C语言编程判断一个数是素数 -
靳浦氨苄: #includeint main() { int i,n,flag=0; printf("请输入一个数:"); scanf("%d",&n); if(n==1||n==0) { printf("不是素数!"); goto loop; } for(i=2;i

涞水县15745848115: 用c语言判断一个数是不是素数 -
靳浦氨苄: #include<stdio.h> int main(){ int n,i,k; k = 1;//默认是素数 scanf("%d",&n); for(i=2;i<n;i++){ if(n%i==0) { printf("NO"); k = 0; break; } } if((k==1) && (i==n)) printf("YES"); return 0; } 帮你修改了下,你试试看吧.

涞水县15745848115: 怎么判断一个数是不是素数c语言 -
靳浦氨苄: #includeint prime(int n){ int i=0; if(n==0 || n==1) return 0; for(i=2;i*i<=n;i++){ if(n%i==0) return 0; } return 1; } int main(){ int n; printf("请输入一个整数:"); scanf("%d",&n); if(prime(n)) printf("%d是一个素数!",n); else printf("%d不是一个素数!",n); return 0; }

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网