当前位置:首页 » 编程语言 » c语言中质数如何表示
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

c语言中质数如何表示

发布时间: 2022-11-02 17:00:25

c语言素数怎么表示

#include<stdio.h>

#include<math.h>

intmain()

{

intx,i,j=0,k;

for(x=101;x<=200;x++)

{

for(i=2,k=0;i<=sqrt(x);i++)

if(x%i==0)

{

k++;

break;

}

if(k==0)

{

printf("%d",x);

j++;

}

}

printf(" 100到200之间有%d个素数 ",j);

}

(1)c语言中质数如何表示扩展阅读

100->200之间的素数的个数,以及所有的素数

#include<stdio.h>

#include<math.h>

intmain()

{

inta,m,k,i;

a=0;

for(i=101;i<=200;i++)

{

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

if(i%k==0)break;

if(k>=i)

a++;

}

printf("%d ",a);

for(i=101;i<=200;i++)

{

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

if(i%k==0)break;

if(k>=i)

a++;

if(k>=i)

printf("%d",i);

}

printf(" ");

return0;

}

❷ c语言 质数

你可以在数组的最后加一项 0 ,但中间就不能有 0 了。然后改成这样:

#include<math.h>
int main()
{

int n, i,k, a[]={5,20,34,13,25,9,12,23,36,19,0}; //多了个0

n=0; //给 n 赋初值 0
while(a[n]) //当a[n]为true,即 a[n] 不为 0
{
k=sqrt(a[n]); //这里直接用 a[n]

for(i=2;i<=k;i++)
if(n%i==0)break;

if(i>k)
printf("%d ",n);

n++; //n增加1 ,使 a[n] 为下一个数
}
}

❸ C语言求质数

红框里的代码,加上那个i++的for循环,其逻辑是:
从2开始,遍历所有小于n的整数,
只要存在一个整数可以被n整除(即余数为0),则可判断n为合数.
若从2到n-1范围内,不存在可整除n的数,则判断n为质数.

还有 for(int .......)这种定义变量的写法,要C99才支持,现在很多编译器默认C89标准,或者不支持C99标准,这样写容易出错.

第一个for循环里面,直接把n=0,1,2的情况跳过了.既然这样,变量n直接把初值赋为3不就好了,赋值0干嘛.

第二个for循环里面,判断到i<sqrt(n)就可以了,还有更简单的求质数算法,感兴趣可以网络.

❹ C语言中,何为素数何为非素数用C语言如何表示

C语言中的素数和数学中的素数是一样的,即:除了1和它本身之外,不能被任何数整除的数(1不是素数)。也就是说素数是这样的整数,它除了能表示为它自己和1的乘积以外,不能表示为任何其它两个整数的乘积。
非素数的定义就很明了了,素数以外的数都是非素数,在C语言中,求素数的方法,就是从2开始,依次判断该数是否可以被2以上到该数以下的数整除,如果可以,就不是素数,如果不可以被所有大于或等于2小于该数的整数整除,那么就是素数了

❺ 用C语言打出质数

楼上的程序运行结果有问题哦。。。

--------------------------------

1.
#include<stdio.h>

main()
{
int i, j, M, N;
int flag; //标志是否为质数

printf("input m:");
scanf("%d", &M);
printf("input n:");
scanf("%d", &N); //输入M和N

if(M<2)
{
M=2;
printf("2\n");
}//小于2的数不为质数,直接从3数起,并且把质数2打印出来

for(i=M+1;i<=N;i++)//从M到N一个个的数数
{
flag=0; //初始化,为质数
for (int j=2;j<=i/2;j++) //从除以2开始,一直除以到i/2,(不用除到i了,判断9/7能不能整除没意义,肯定不行的)
{
if (!(i %j) ) //如果整除(%为取余数)
{
flag=1; //制标志为1(不为质数)
break; //跳到M到N的下一个数
}
}
if (flag==0) printf("%d\n",i); //如果从除以2开始,一直除以到i/2都不能整除,则为质数,打印出来。
}
}

------------------------
VC6.0调试输出
input m:3
input n:20
5
7
11
13
17
19

2

#include<stdio.h>

int main()
{
int i, j, M, N;
int flag;
printf("input m:");
scanf("%d", &M);

if(M<2)
{
M=2;
printf("2\n");
return 0;
}//小于2的数不为质数,直接从3数起,并且把质数2打印出来,退出

for(i=M+1;;i++)//从M到N一个个的数数
{
flag=0; //初始化,为质数
for (j=2;j<=i/2;j++) //从除以2开始,一直除以到i/2,(不用除到i了,判断9/7能不能整除没意义,肯定不行的)
{
if (!(i %j) ) //如果整除(%为取余数)
{
flag=1; //制标志为1(不为质数)
break; //跳到M到N的下一个数
}
}
if (flag==0) printf("%d\n",i);
return 0;//如果从除以2开始,一直除以到i/2都不能整除,则为质数,打印出来。
}
return 0;
}

---------------------------

VC6.0调试输出

input m:8
11

❻ 输出100以内的质数,用c语言编写

#include <stdio.h>

int main(int argc, char **argv)

{

int x;

for (x=1;x<100;x++){

int i;

int isprime=1;//表示x是素数。

for(i=2;i<x;i++){

if (x%i==0){

isprime=0;

break;

}

}

if (isprime==1){

printf("%d",x);

}

}

return 0;

}

C语言编程计算注意事项:

1、编程时注意符号大小写。

2、main函数要有返回值

3、C语言中定义数组,要定义出大小,数组的大小只能是常量不能是变量。

4、%md ; %0md ;%.mf;(以m位进行右对齐输出,不足m位空格补上;以m位进行右对齐输出。不足m位用0补上;保留m位小数)

❼ 在c语言中如何表示素数

1、先打开visualc++6.0,然后单击左上角的文件,然后单击新建。

❽ C语言中求质数过程是怎样的

判断一个数是不是素数(就是你说的质数),用下面的方法(筛选法):

从2开始,那么2的倍数就不是素数;

然后是3,那么3的倍数就不是素数;

然后是5(4已经被排除了),那么5的倍数就不是素数。

以此类推。下面给出筛选法的代码(判断10以内的素数有几个,4个)

#include<stdio.h>
intmain(void)
{
inti,s,k,count=0;
for(i=100;i<=200;i++)
{
k=sqrt(i);
for(s=2;s<=k;s++)
{
if(i%s==0)break;
}
if(s==k+1)
count++;
}
printf("%d ",count);
for(i=100;i<=200;i++)
{
k=sqrt(i);
for(s=2;s<=k;s++)
{
if(i%s==0)break;
}
if(s==k+1)
printf("%d",i);
}
return0;
}

写的这么详细,不采纳我,好伤心。

❾ c语言 质数

把1<N<1000;去掉,scanf("%d",&N);少了&;你的质数判断方法也有问题