当前位置:首页 » 编程语言 » c语言素数对

c语言素数对

发布时间: 2022-02-05 12:12:44

‘壹’ 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;

}

(1)c语言素数对扩展阅读:

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

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

‘贰’ c语言 求素数对程序的设计与实现

#include<stdio.h>
int prime(int n)//返回0不是素数,返回1是素数
{
int i,j;
j=1;
for(i=2;i<n;i++)
{
if(n%i==0){j=0;break;}
}
return j;
}
void main()
{
int a,b,n;
printf("n=?");
scanf("%d",&n);
a=2;
abc: for(;a<=n/2;a++)
{
b=n-a;
if(prime(a)==0){a++;goto abc;}
if(prime(b)==0){a++;goto abc;}
printf("%d=%d+%d\n",n,a,b);
}
}

‘叁’ C语言求素数和

main()
{
int i,m,j; //增加一个变量,见后面说明
for(i=2;i<=100;i++)
{m=sqrt(i);
//for(i=2;i<=m;i++) 这里i值被重新赋值,你原来的i值找不到了!如果是素数,怎么输出呢?
for(j=2;j<=m;j++) //换一个变量,不要影响要检查的数据i
if(j%m!=0) //改成j
; //这样写,会让你更清楚,这句如果j不能整除m,就啥也不干,象你所说回到下一个循环检查。
else
break; //加上这两句,如果能整除则说明:i不是素数!!就不要再去检查了。
if ( j > m ) //加上这句,如果检查所有的j全部不能整除m,循环结束后,j一定大于m,这时的i才是素数
printf("%d",i);
}

getch();
}

‘肆’ C语言求素数代码

方法有2个:

1、判断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;

}

(4)c语言素数对扩展阅读:

C语言的模块化程序结构用函数来实现,即将复杂的C程序分为若干模块,每个模块都编写成一个C函数,然后通过主函数调用函数及函数调用函数来实现一大型问题的C程序编写,因此常说:C程序=主函数+子函数。因此,对函数的定义、调用、值的返回等中要尤其注重理解和应用,并通过上机调试加以巩固。

判断语句(选择结构):

if 语句:“如果”语句;if—else 语句:“若…(则)…否则…”语句;switch 语句:“切换”语句;switch—case:“切换—情况”语句。

循环语句(循环结构):

while 语句:“当…”语句;do—while 语句:“做…当…(时候)”语句;for 语句:条件语句(即“(做)…为了…”语句)。

跳转语句(循环结构:是否循环):

goto 语句:“转舵”语句,也称“跳转”语句;break 语句:“中断”(循环)语句,即结束整个循环;continue 语句:“继续”语句(结束本次循环,继续下一次循环);return 语句:“返回”语句。

需要说明的是:

1、一个C语言源程序可以由一个或多个源文件组成。

2、每个源文件可由一个或多个函数组成。

3、一个源程序不论由多少个文件组成,都有一个且只能有一个main函数,即主函数。是整个程序的入口。

4、源程序中可以有预处理命令(包括include 命令,ifdef、ifndef命令、define命令),预处理命令通常应放在源文件或源程序的最前面。

5、每一个说明,每一个语句都必须以分号结尾。但预处理命令,函数头和花括号“}”之后不能加分号。(结构体、联合体、枚举型的声明的“}”后要加“ ;”。)

6、标识符,关键字之间必须至少加一个空格以示间隔。若已有明显的间隔符,也可不再加空格来间隔。

书写规则

1、一个说明或一个语句占一行。

2、用{} 括起来的部分,通常表示了程序的某一层次结构。{}一般与该结构语句的第一个字母对齐,并单独占一行。

3、低一层次的语句或说明可比高一层次的语句或说明缩进若干格后书写。以便看起来更加清晰,增加程序的可读性。在编程时应力求遵循这些规则,以养成良好的编程风格。

‘伍’ C语言判断素数

#include
int main()
{
int x,y,n,i,t,flag=0;
while(scanf("%d %d",&x,&y) && x!=0||y!=0 &&-39 <=x &&x <=y && y<=50)
{
for(n=x;n<=y;n++)
{
t=n*n+n+41;
if(flag==1)break;
else
for(i=2;i
追问:
交上学校的系统还是Wrong
Answer。。。
继续求助……
追答:
#include
int main()
{
int x,y,n,t,flag=0;
int i=0;
while(scanf("%d %d",&x,&y) && x!=0||y!=0 &&-39 <=x &&x <=y && y<=50)
{
for(n=x;n<=y;n++)
{
t=n*n+n+41;
if(flag==1) break;
else
for(i=2;i
追问:
要哭了……我觉得并没什么错了,还是错
追答:
#include
int main()
{
int x,y,n,t,flag=0;
int i=0;
while(scanf("%d %d",&x,&y) && (x!=0 || y!=0) && -39 <=x &&x <=y && y<=50)
{
flag = 0;
for(n=x;n<=y;n++)
{
t=n*n+n+41;
if(flag==1) break;
else
for(i=2;i
追问:
对了对了!谢谢你啊!为什么里面加个flag=0就对了呢?还有那个i=0有什么用吗
追答:

i
=
0;
没什么用
加个flag
=
0
是因为如果上次不是素数
(这时flag
为1)
第二次
输入
再判断的时候
会认为
还不是素数
因为flag
=1

会直接
break
评论
0
0
加载更多

‘陆’ c语言编程题!有关素数的!

判断n是否是素数,可以用该数除以2至sqrt(n),这个你应该明白吧,因为该数的最大因子只可能是小于根号n的。
代码:
sqrt()包含于math.h头文件中。
for(i=2;i<=sqrt(n);i++)
{
if(n%i==0) {则该数不是素数}
}
还有另外一种求一百以内的素数,建议用数组筛选法/
首先先用101的数组全部置零,接着以素数种子筛选,置1。最后判断数组中为0的元素,其下标就是素数(注意处理1,1没标记)。
for(i=2;i<=sqrt(100);i++)
if(!visit[i])
for(j=i*i;j<=100;j+=i)
visit[j]=1;
先写成这样吧,好过他们直接贴代码,对你应该有一定的启发吧!!

‘柒’ C语言 求100到200之间到素数对

什么意思啊 我不懂你意思 求100---200之间的素数么

‘捌’ C语言求2~100中的所有的亲密素数对的个数

测试结果:
第1对亲密素数:[ 3, 5]
第2对亲密素数:[ 5, 7]
第3对亲密素数:[ 11, 13]
第4对亲密素数:[ 17, 19]
第5对亲密素数:[ 29, 31]
第6对亲密素数:[ 41, 43]
第7对亲密素数:[ 59, 61]
第8对亲密素数:[ 71, 73]
请按任意键继续. . .

代码:
#include "stdio.h"
#include "stdlib.h"

int isPrimeNumber(int n)
{
int i;
for(i=2;i<=n/2;i++)
{
if(n%i==0)
return 0;
}
return 1;
}

main()
{

int count=0,i=0;
for(i=2;i<=100;i++)
{
if(isPrimeNumber(i)&&isPrimeNumber(i+2))
printf("第%d对亲密素数:[%3d,%3d]\n",++count,i,i+2);
}
system("pause");
}

‘玖’ 用C语言如何判断素数

按照如下步骤即可用C语言判断素数:

1、首先打开visual C++ 6.0,然后点击左上角的文件,再点击新建。

热点内容
南师大ftp 发布:2025-01-01 23:11:43 浏览:326
c和c编译器安装教学 发布:2025-01-01 23:10:08 浏览:80
安卓原神退款后为什么登不上 发布:2025-01-01 23:04:30 浏览:251
查看服刑人员要编好和密码是什么 发布:2025-01-01 23:00:09 浏览:703
闲聊账号密码是多少 发布:2025-01-01 22:58:26 浏览:519
1个机柜的存储量 发布:2025-01-01 22:57:49 浏览:635
sqlaccess自动编号 发布:2025-01-01 22:47:21 浏览:138
android字符截取 发布:2025-01-01 22:47:18 浏览:76
如何把服务端部署在服务器上 发布:2025-01-01 22:46:35 浏览:976
内网外网域名访问 发布:2025-01-01 22:32:35 浏览:64