当前位置:首页 » 编程语言 » c语言输出1000素数
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

c语言输出1000素数

发布时间: 2022-01-21 05:30:04

❶ 求一个用c语言编程的一个程序。让输出一1000以内的全部素数

素数的判断:除了1和它本身以外不再有其他的因数。
此程序可按照以下流程:

1、主函数中进行循环,从2到1000

2、如果当前循环的数是素数,就将其输出

判断一个数num是否是素数,可按照以下流程:
1、循环,从2到num-1

2、如果当前循环的数能被num整除,则num不是素数

3、没有num能整除的数,表明num是素数

代码如下:
#include <stdio.h>

int isPrime(int num);

int main()
{
int i;

for (i = 2; i <= 1000; i++)
if (isPrime(i))
printf("%d ", i);

return 0;
}

int isPrime(int num)
{
int i;

for (i = 2; i < num; i++)
if (num % i == 0)
return 0;

return 1;
}

❷ c语言编写程序,输出1000内的所有素数, 每行显示10个数

#include <stdio.h>
#include <stdlib.h>
#include <math.h>
/*****************************************************************
*本程序用来计算1000内质数有哪些及一共有哪些。
*
*知识点:什么是质数?及只能被本身和1整除的整数。
*
*时间:2018.10.22
*****************************************************************/
int main(void)
{
int i,j,result = 0,sum = 0; //i-循环变量和被判断数 j-循环变量和判断数 result-验证是否为质数的返回值 sum-质数总量计数
for (i = 2;i <= 1000;i++) //第一个循环用来取出被判断数 从2开始到1000
{
for (j = 2; j <= sqrt(i) + 1;j++) //第二个循环是用来判断这个数是否为质数并返回,从2开始至被判断数开根后+1. sqrt(i)后面不+1 会把质数2 3丢掉
{
if (i%j == 0 && i != j) //如果被判断数用2-被判断数来取余,如果余数为0 且不是被自已整除那么这个数一定不是质量直接返回
{
result = 0; //判断出是质数后返回前必须给返回值赋0值,0代表非质数 1代表质数
break;
}
result = 1;
}
if (result == 1) //如果此数为质数 质数总量+1后并打印 把result返回值初始化准备下一个循环判断。
{
sum++;
printf("第%d个质数:%d \n",sum,i);
result = 0;
}
}
return 0;
}

❸ C语言:输出1-1000素数;

函数f有问题啊,如果是素数会返回,但不是素数的话,没有返回值啊。
建议
修改如下:
1. 函数f中
if(j>=n)
return n;
else
return 0;
2. 函数main的循环中
int result = f(i);
if( result )
printf("%5d",result);

❹ 如何编写C语言求1000以内的素数之和并输出

不给分?

❺ C语言求100到1000素数的程序

#include<stdio.h>
void main()
{
int i,t,choose=0;
for(i=100;i<=1000;i++)
{ choose=0;
for(t=2;t<=(i-1);t++)
{
if(i%t==0){ choose=1;break;}
}
if(choose==0)
printf("%d\t",i);
}
getch();
}

也不给分 哈哈按照你的改的 试过绝对行

❻ C语言编程输出1000对孪生素数

#include <stdio.h>

#include <math.h>

int isPrime(int n)

{

int i;

if (n < 2)

return 0;

int k = (int)sqrt((double)n); //提高效率

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

{

if (n % i == 0)

return 0;

}

return 1;

}

int main()

{

int i = 3, ct = 0;

while (ct < 1000)

{

if (isPrime(i) && isPrime(i + 2))

{

ct++;

printf("第 %d 对:%d/%d ", ct, i, i + 2);

}

i += 2;

}

return 0;

}

❼ 用C语言输出1000以内的全部素数

如下图所示:

❽ C语言输出100至1000间的素数

#include<cstdlib>
#include<iostream>
usingnamespacestd;
intmain(intargc,char*argv[])
{
inta,b;
for(a=100;a<1000;a++)
{
intist=0;
for(b=2;b<a;b++)
{
if(a%b==0)
{
ist=1;
break;
}
}
if(ist==0)
printf("%d ",a);
}


system("PAUSE");
returnEXIT_SUCCESS;
}

❾ C语言输出100到一千之间所有素数

首先打开CodeBlocks,创建一个新项目。项目语言,选择“c”,就可以写程序判断素数了,具体方法为:

1、创建好项目后,我们打开 “main.c”文件。

注意事项:

质数被利用在密码学上,所谓的公钥就是将想要传递的信息在编码时加入质数,编码之后传送给收信人,任何人收到此信息后,若没有此收信人所拥有的密钥,则解密的过程中(实为寻找素数的过程),将会因为找质数的过程(分解质因数)过久,使即使取得信息也会无意义。

❿ C语言求1000以内素数

你程序的问题出现在
while(num2<num1)
{
num2=2;
num=num1%num2;
num2++;
a=isPrime(num);
if(a==1)
printf("%5d",num1);
}
假设num1=4的时候,你没次进循环num2=2,num2++,num2=3;再次进循环num2=2,num2++,num2=3;因此一直有num2<num1成立,这就进入了死循环。这个程序不难写,如果你需要写出程序,hi我。