导航:首页 > 编程语言 > c语言编程求素数

c语言编程求素数

发布时间:2022-02-02 13:07:54

A. c语言编写函数判断素数

/判断是不是素数

#include<stdio.h>

int prime(int a);//函数声明

int main()

{

int n,i;

scanf("%d",&n);

if(prime(n)==1) //return返回值1

printf("prime");

else

printf("not prime") ;

}

int prime(int a)

{

int i;

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

if(a%i==0)

return 0;//a%i==0不成立

else

return 1;//a%i==0成立

}

(1)c语言编程求素数扩展阅读:

素数的算法

1、素数:除了1和本身外无法被其他自然数整除的数,叫做素数,也称质数,如:2,3,5,7一系列。

2、合数:比1大但不是素数的数称为合数,如:8,9,10一系列。

3、特殊的数字:1和0既不是素数也不是合数。

4、算法: 1>确定性算法 2>随机性算法 3>Eratosthenes算法。

B. 用C语言写出求素数的编程

参考代码:
int main(){
int num,m,n,d,c,priSum;
printf("Enter the Range Between m,n ");
scanf("%d %d", &m,&n);
for (num = n; num <= m; num++)
{
for(d = 2; d < num; d++)
{
if (num % d == 0){
continue;
}
}

if (d == num){
priSum += d;
c++;
}
}
printf("m~n之间的素数个数:%d,和 %d ",c,priSum);
return 0;
}

C. 写一个C语言编程,求素数及反序数

什么意思(要求)?我这儿有我写的一个判断既是回文数又是素数的程序,应该是一样的吧?
#include<iostream>
//求既是回文数又是素数的五位数,回文数:即12121=12121;5687865=5687865;
#include "math.h"
#include "stdlib.h"
using namespace std;
int main()
{
int i;
int m = 0;
int j;
int num1 = 0;
for (i = 10000; i<100000; i++)
{
for (j = 2; j <= sqrt(i); j++)
{
if (i%j == 0)
{
break;
}
}
if (j>sqrt(i))
{
m = (i % 10) * 10000 + (i % 100 - i % 10) / 10 * 1000 + (i % 1000 - i % 100) / 100 * 100 + (i % 10000 - i % 1000) / 1000 * 10 + (i - i % 10000) / 10000;
if (m == i)
{
num1 = num1 + 1;
}
}

}
cout << "We find " << num1 << " number of the kind you want to find." << endl;
system("pause");
return 0;
}

D. C语言编写一个程序判断一个数是否为素数急求

目的:判断一个数是否为素数

#include<stdio.h>


intmain(void)


{


int m;


inti;


scanf("%d",&m);


for(i=2;i< m;i++) //2到(m-1)的数去除m


{


if(m%i==0)//判断能否整除


break;

}

if(i== m)


printf("YES! ");


else


printf("No! ");


}

for循环的功能:

①若能整除,通过break跳出函数;

②若一直到m-1都不能整除,此时i再自增1到m,不满足i< m跳出for循环,这时i= m。

(4)c语言编程求素数扩展阅读:


素数定理:



1、在一个大于1的数a和它的2倍之间(即区间(a,2a]中)必存在至少一个素数。



2、存在任意长度的素数等差数列。



3、一个偶数可以写成两个合数之和,其中每一个合数都最多只有9个质因数。(挪威数学家布朗,1920年)。



4、一个偶数必定可以写成一个质数加上一个合成数,其中合数的因子个数有上界。(瑞尼,1948年)。



5、一个偶数必定可以写成一个质数加上一个最多由5个因子所组成的合成数。后来,有人简称这结果为(1+5)(中国潘承洞,1968年)。



6、一个充分大偶数必定可以写成一个素数加上一个最多由2个质因子所组成的合成数。简称为(1+2)。

E. c语言求素数的算法

根据素数的性质,代码设计如下:

设计一:判断n是否能被1~n-1整除,不能整除为素数

#include<stdio.h>

int main()

{

int i, n;

scanf("%d", &n);

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

{

if (n%i == 0)

break;

}

if (i < n) printf("This is not a prime.");

else printf("This is a prime.");

return 0;

}

设计二:判断n是否能被2~√n间的整数整除,不能整除为素数

#include<stdio.h>

#include<math.h>

int main()

{

int n,i;

double k;

scanf("%d", &n);

k = sqrt(n);

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

{

if (n%i == 0) break;

}

if (i <=k) printf("This is not a prime.");

else printf("This is a prime");

return 0;

}

(5)c语言编程求素数扩展阅读:

1.素数的定义是只能被1和他本身整除,1不是素数.因此要判断一个数是否为素数.就要判断它能不能被比他小的所有素数整除,这是一个算法.(写到算法时,我只能写出用它除以比他小的所有数,造成运算速度低下)

2.如果一个质数大于根号n,而n可以除尽它,那么n必然也可以除尽一个更小的质数。由此可以得到一个法2较快的素数判断算法

F. C语言编程:编写程序,求3-100之间所有素数之和(要求判断素数由函数实现)。

#include"stdio.h"
intisprime(intn)//判断n是否为素数,是返回1,不是返回0
{
inti;
if(n==1)
return0;//1不是素数
for(i=2;i<=n/2;i++)//如果从2开始,到这个数半值时,有一个数能被整除,则不是素数
if(n%i==0)
return0;
//从2开始,到这个数一半值时,没有一个能整除,则是素数
return1;
}
intmain()
{
intsum=0;
inti;
for(i=3;i<=100;i++)
if(isprime(i)==1)//是素数就加到sum上去,
sum+=i;
printf("3到100之间的素数之和为:%d ",sum);
}

G. 用C语言编写在自然数中输出100以内的素数

#include<stdio.h>

//输出100之内的所有素数

int main()

{

int i;

int j;

int flag = 1;

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

{

for(j = 2;j <= i / 2;j++)

{

if(i % j ==0)

{

flag = 0;

break;

}

}

if(flag == 1)

{

printf("%d ",i);

}

flag = 1;

}

return 0;

}

(7)c语言编程求素数扩展阅读

#include <stdio.h>

int main()

{

int a;

for (int i = 2; i < 100; i++)

{

int a = 0;

/* code */

for (int j = 2; j < i; j++)

{

/* code */

if (i % j == 0)

{

/* code */

a++;

}

}

if (a == 0)

{

/* code */

printf("%d is sushu ", i);

}

else

{

/* code */

printf("%d is not sushu ", i);

}

}

return 0;

}

H. C语言编程 求素数 求解释

#include<stdio.h>
#include<stdlib.h>
#include<math.h>
void main()
{
int m,i,k;
scanf("%d",&m);
k=sqrt(m); //一个数不是素数,那么开平方也一定不是素数。
//将一个数开平方再取整,可以减少比较次数,提高运行效率。

for(i=2;i<=k;i++)//一个一个比较看这个数能不能除尽小于它的所有数
if(m%i==0) //如果可以除尽这个数,那么就跳出循环
break;
if(i>=k+1) //如果i>=k+1 说明一直循环到最后了,中间没有可以除尽的数,这个数就是素数
printf("%d is a prime number\n",m);
else //相反就不是素数
printf("%d is not a prime number\n",m);

system("pause");
}

I. c语言编程求素数(也即是质数)

#include <stdio.h>
void main()
{ int x;
int i,f;
f=0;
scanf("%d",&x);
for(i=2;i<x/2+1;i++)
if(x%i==0) { f=1; break;}
else {f=0; continue;}
if(f) printf("%d不是素数\n",x);
else printf("%d是素数\n",x);
system("pause");
}
比之前的少一般的计算量

阅读全文

与c语言编程求素数相关的资料

热点内容
pdf光子 浏览:832
自拍软件文件夹名称大全 浏览:325
程序员留学移民 浏览:49
梁中间部位箍筋加密区 浏览:117
频谱分析pdf 浏览:750
乐2怎么升级安卓70 浏览:172
java中获取日期 浏览:506
单片机74hc245 浏览:272
美国历史上的总统pdf 浏览:751
程序员脱单实验室靠不靠谱 浏览:458
php中间四位手机号 浏览:869
永旺app怎么样了 浏览:516
压缩空气流量计算软件 浏览:649
智慧聊天app怎么激活 浏览:924
一加换机备份到哪个文件夹 浏览:736
支撑pdf 浏览:417
java空文件夹删除 浏览:587
安卓9跟81有什么区别 浏览:912
n1蓝宝书pdf 浏览:244
为什么安卓机拍照那么丑 浏览:696