⑴ c语言中 要求找出10以内的素数,我这么写,为啥不对,求助大神
//素数是这样的整数,它除了能表示为它自己和1的乘积以外,
//不能表示为任何其它两个整数的乘积。
//例如2357
#include<stdio.h>
intmain()
{
inta,i,w=0,j=0,q;
if(j<=10)
{
for(a=9;a>1;a--) //这里a=a-2改为了a--
{
w=0; //添加了这句,把w清零。
for(i=a;i>1;i--)
{
if((a%i)!=0)
{
w=w+1;
}
}
if(w==(a-2))
{
j=j+1;
printf("%d ",a);
}
}
}
}
⑵ 用C语言求10以内的素数
判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,则表明此数不是素数,反之是素数。
你的方法都错了,还能正确吗。
#include <math.h>
main()
{
int m,i,k,h=0,leap;
printf("\n");
for(m=1;m<10;m++)
{
leap=1;
k=sqrt(m+1);
for(i=2;i<=k;i++){
if(m%i==0)
{
leap=0;
break;
}
}
if(leap)
printf("%d,",m);
}
getch();
getch();
}
⑶ 求"求素数的C语言程序"
#include <stdio.h>
int main()
{
int a=0;
int num=0;
int i;
printf("输入一个整数:");
scanf("%d",&num);
for(i=2;i<num;i++){
if(num%i==0){
a++;
}
}
if(a==0){
printf("%d是素数。 ", num);
}else{
printf("%d不是素数。 ", num);
}
return 0;
}
(3)c语言中十以内的素数程序扩展阅读:
质数又称素数。一个大于1的自然数,除了1和它自身外,不能被其他自然数整除的数叫做质数;否则称为合数。
基本算法:若 k%m==0 则说明 k 不是素数。
判断整数n是否为素数——采用枚举法求解。
采用枚举算法解题的基本思路:
(1)确定枚举对象、枚举范围和判定条件;
(2)枚举可能的解,验证是否是问题的解。
枚举算法的一般结构:while循环。
参考资料来源:网络-枚举法
⑷ 用C语言求10以内的素数
判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,则表明此数不是素数,反之是素数。
你的方法都错了,还能正确吗。
#include <math.h>
main()
{
int m,i,k,h=0,leap;
printf("\n");
for(m=1;m<10;m++)
{
leap=1;
k=sqrt(m+1);
for(i=2;i<=k;i++){
if(m%i==0)
{
leap=0;
break;
}
}
if(leap)
printf("%d,",m);
}
getch();
getch();
}
⑸ 怎样用C语言编一个辨别1~10中哪些是素数的程序呢谢谢了
#include <stdio.h> /* I/O库函数原型声明 */
#include <math.h>
void main (void) //任一充分大的偶数,可以用两个素数之和表示。
{
int j,n,p,q,flagp,flagq;
printf("please input n :");
scanf("%d",&n);
if (((n%2)!=0)||(n<=4))
printf("input data error!\n");
else
{
p = 1 ;
do {
p = p + 1 ;
q = n - p ;
flagp=1;
for(j=2; j <= (int)(floor(sqrt((double)(p))));j++)
{
if ((p%j)==0)
{
flagp=0;
break;
}
}
flagq=1;
for (j=2;j<=(int)(floor(sqrt((double)(q))));j++)
{
if ((q%j)==0)
{
flagq= 0 ;
break;
}
}
} while (flagp*flagq==0);
printf("%d = %d + %d \n",n,p,q);
}
while (1) {};
}
你可以调试一下,任一充分大的偶数,可以用两个素数之和表示。结果都可以输出出来。祝你好运。
⑹ c语言:求出10~100之间的所有素数
素数就是只能被1和自身整除的数,可以定义一个函数用于判断一个数是否是素数,接着从10到100依次遍历,判断其是否是素数,如果是并输出。
参考代码:
#include"stdio.h"
intfun(intn){//判断n是否是素数
inti;
for(i=2;i<n;i++)
if(n%i==0)return0;
return1;
}
intmain()
{
inti;
for(i=10;i<=100;i++)//循环判断是否是素数
if(fun(i))
printf("%d",i);
return0;
}
/*
运行结果:
*/
⑺ C语言编写程序,每5个一行输出10~500以内的素数
很简单哦:
main()
{
int i=0,j,b=10;
for(j=2,j<b/2,j++)
{ for(i,i<5,i++)
{ if(b/j==0)
b++;
else
printf(“d%”,b);
}
printf("\n")
}
这个参考程序。由于我电脑上没装tc软件,不能帮你仿真啦,自己检查下是否有错误,不明白的地方可以问我哦。
⑻ c语言求10以内的素数
#include<stdio.h>
int main()
{
int i,j;
for(i=2;i<=10;i++)
{
for(j=2;j<i;j++)
{
if(0==i%j)
{
break;
}
}
if(j>=i)
{
printf("%d ",i);
}
}
return 0;
}
⑼ 在C语言中如何编辑一个能输出一个1到10的素数的个数的程序
#include <stdio.h>
#include <string.h>
main()
{
int i,j,k;
for(i=1;i<=10;i++)
{ k=sqrt(i);
for(j=2;j<=k;j++)
if(i%j==0)
break;
if(j>=k+1)printf("%d",i);
}
}
我的这个程序就是输出所有的素数.
⑽ 用C语言编1到100之间的素数程序
程序及解释如下:
首先判断素数的算法:用一个数分别去除以2到sqrt(这个数),如果能被整除, 则表明此数不是素数,反之是素数。
则有如下程序
{ int m,k,i;
for(m=1;m<=100;m=m+2) //m=m+2,因为偶数都不是素数,不用考虑,所以每次m+2.
{ k=sqrt(m) //先求这个数的平方跟
for(i=2;i<=k;i++) //然后用i(从2到k,即m的平方跟)去除m,
if(m%i==0) break; //如果能被整除, 则不是素数,break
if(i>=k+1) pritnf("%d",m); //如果i>k+1,则说明没有数能整除m.则m是素数
}
}
(10)c语言中十以内的素数程序扩展阅读:
素数被利用在密码学上,所谓的公钥就是将想要传递的信息在编码时加入质数,编码之后传送给收信人,任何人收到此信息后,若没有此收信人所拥有的密钥,则解密的过程中(实为寻找素数的过程),将会因为找质数的过程(分解质因数)过久,使即使取得信息也会无意义。
在汽车变速箱齿轮的设计上,相邻的两个大小齿轮齿数设计成质数,以增加两齿轮内两个相同的齿相遇啮合次数的最小公倍数,可增强耐用度减少故障。
在害虫的生物生长周期与杀虫剂使用之间的关系上,杀虫剂的质数次数的使用也得到了证明。实验表明,质数次数地使用杀虫剂是最合理的:都是使用在害虫繁殖的高潮期,而且害虫很难产生抗药性。
以质数形式无规律变化的导弹和鱼雷可以使敌人不易拦截。
多数生物的生命周期也是质数(单位为年),这样可以最大程度地减少碰见天敌的机会。
参考资料:网络 素数