❶ 求一个用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我。