当前位置:首页 » 编程语言 » 用if判断是否为质数的c语言
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

用if判断是否为质数的c语言

发布时间: 2022-05-04 22:49:28

‘壹’ c语言 判断是否为质数

最常用的方法是循环,用要判断的数去除以2到那个数减一,如果存在取余为0的,证明不是质数,判定可以加上布尔函数,存在为1.

‘贰’ 用C语言.判断100以内的质数用IF语句

我对孙经琛同志的程序做了修改:
#include <stdio.h>
void main()
{
int i,k,t=0,sum=0;
int c,a[100];
c=1;
for (i=1;i<=100;i++) /*设定范围100以内*/
{
for(k=1;k<=i;k++) /*从1查到当前所判断的数*/
{
if (i%k==0 && k!=1 && i!=k) c=0; /*如果已经不满足素数条件,则将标志转0*/

}
if (c!=0) {a[t]=i;t++;} /*如果标志为1,则该质数保存入数组*/
c=1; /*初始化标志*/
}
for(i=0;i<t;i++)
printf("%d\n",a[i]);
getchar();
}

‘叁’ C语言判断一个数是否是质数

根据质数的定义,在判断一个数n是否是质数时,只要用1至n-1去除n,看看能否整除即可。
还有更好的办法:先找一个数m,使m的平方大于n,再用小于等于m的质数去除n(n为被除数),如果都不能整除,则n必然是质数。如我们要判断1993是不是质数,50*50>1993,那么只要用1993除以<50的质数看是否能整除,若不能即为质数。100以内的质数有25个,还是比较好记的,只要记熟100以内质数,就可以快速判断10000以内的数是不是质数。
100以内的质数有2、3、5、7、11、13、17、19、23、29、31、37、41、43、47、53、59、61、67、71、73、79、83、89、97,在100内共有25个质数。

只有1和它本身两个因数的自然数,叫质数(或称素数)。(如:由2÷1=2,2÷2=1,可知2的因数只有1和它本身2这两个约数,所以2就是质数。与之相对立的是合数:“除了1和它本身两个因数外,还有其它因数的数,叫合数。”如:4÷1=4,4÷2=2,4÷4=1,很显然,4的因数除了1和它本身4这两个因数以外,还有因数2,所以4是合数。)

‘肆’ c语言中如何判断一个数是否是质数

判断一个数是否是质数在于看这个数字是否只能被1和它本身所整除的整数。但是有一个例外,1不属于质数。

‘伍’ 用c语言编写一个程序,判断输入的数是否是素数(质数)。

#include <stdio.h>
#include <math.h>

int main()
{
int i,j,n,flag;
int num;
/* 判断输入的数是否是素数 */
printf("请输入一个正整数:");
scanf("%d", &num);
for(i=2,flag=1; i<=(int)sqrt(num);i++)
{
if(num % i ==0)
{
flag=0;
break;
}
}
if(flag==1)
printf("%d 是一个素数。\n\n", num);
else
printf("%d 不是一个素数。\n\n", num);

/* 列出2~1000之间个位数是3或7的素数 */
printf("2~1000之间个位数是3或7的素数:\n");
for(i=2; i<1000;i++)
{
for(j=2,flag=1; j<=(int)sqrt(i); j++)
if(i%j==0)
{
flag=0;
break;
}
if(flag==1 && (i%10==3 || i%10==7))
printf("%d\t",i);
}

/* 输出10个2~1000之间个位数是3或7的素数 */
printf("\n\n2~1000之间个位数是3或7的素数:\n");
for(i=2,n=0; i<1000;i++)
{
for(j=2,flag=1; j<=(int)sqrt(i); j++)
if(i%j==0)
{
flag=0;
break;
}
if(flag==1 && (i%10==3 || i%10==7))
{
n++;
if(n<=10)
printf("%d\t",i);
}
if(n>10)
break;
}

return 0;
}

‘陆’ 如何用c语言编写出判断一个数是否为质数的程序

新建一个Win32 Console Application,创建一个Hello World!程序,把如下代码粘进去运行。

#include "stdafx.h"
#include <stdio.h>
void main()
{
int a,k=0;
printf("请输入大于1的正整数:");
scanf("%d",&a);
for(int i=2;i<a;i++)
if(a%i==0) {k=1;break;}
if(k) printf("%d不是质数!可以被%d整除!\n",a,i);
else printf("%d是质数!\n",a);
}

‘柒’ C语言编程:判断某数是否是质数

#include<stdio.h>
int main(int argc,int argv[]){
int a,flag;
scanf("%d",&a);/*输入一个数进行判断是否是质数*/
int isprime(int);/*这里是对将要调用的函数声明一下*/
flag=isprime(int);
if(flag==1) printf("%d is isprime",a);
printf("%d is not isprime",a):
return 1;/*这里的语句代表调用函数成功*/
}
int isprime(int a){ /*功能函数,判断是否是素数*/
int i;
for(i=2;i<=a/2;i++)
if(a%i==0) return 0;/*只要有一次相除为0,马上就能判断不是素数*/
return 1;/*否则经过循环之后,都没有相除为0呢,就说明一定是素数了*/
}
看到这里是不是有点疑惑了呢?我到网络查了一下,质数也称素数,你注意看就好。。不懂再追问。。
不过我想你看完之后你应该能明的了,我已经写得好详细了啦。。。。

‘捌’ c语言编程 判断一个数是否为质数

逻辑判断有问题。
if(a%n==0){
//说明已经有可以整除的数,已经不是质数了,所以可以利用break;直接跳出
}else{
//假设a是9,那么9%2肯定不为0啊,那么9就不是质数啦?
}
改成以下
for(n=2;n<a;n++){
if(a%n==0){
printf("no");
break;
}
}
if(n>=a){
//如果a是质数的话,说明没有利用break跳出循环,那么结束循环时n的值为a,如此可以判断还未有数可以让a整除的
printf("yes");
}

‘玖’ c语言入门编程题 判断一个数是否为质数

#include<stdio.h>
#include<math.h>
int
main()
{
int
x,i=2,n;
//double
k=sqrt(x);
//----------错误
double
k;
printf("请输入一个正整数x:");
scanf("%d",&x);
//修改
k=sqrt(x);
if(x==1)
printf("该数不是质数.\n");
else
{
while(i<=(int)k)
{
n=x%i;
if(n==0)
//
printf("该数不是质数.\n");
//
------------------------错误
{
printf("该数不是质数.\n");
break;
}
/*else
i=i++;
*/
//-------错误
i++;
}
//printf("该数为质数.\n");
//----------------------------错误
if(i>(int)k)printf("该数为质数.\n");
}
return
0;
}