从键盘输入一个大于2的整数n,判断它是不是素数

来源:百度知道 编辑:UC知道 时间:2024/05/30 18:16:03
#include<stdio.h>
void main()
{
int i,n;
scanf("%d",&i);
for(n=2;n<i;n++)
if(i%n==0)
break; /*余数为0时终止循环,关键是这里*/
if(n<i)
printf("不是素数\n");
else
printf("是素数\n");

}
大家看看这个代码行不行?最好怎么修改呢?谢谢了

步长改为2,就是n+=2;偶数一定不是素数。还有,被检验的数不是素数的话肯定能被之前的素数整除。所以用之前的检测出的素数除被检测书就行了,然后判断一个素数之需除到它的一半就行了。
我只是为了运行速度提出的。

很好改啊,基本没错,你的break用法也没错的,不需要改,改改printf就行了
#include<stdio.h>
void main()
{
int i,n;
printf("请输入大于2的整数:\n");
scanf("%d",&i);
for(n=2;n<i;n++)
if(i%n==0)
break; /*余数为0时终止循环,关键是这里*/
if(n<i)
printf("%d不是素数\n",i);
else
printf("%d是素数\n",i);

}

楼上的话有问题 偶数有可能是素数 2就是素数

#include <stdio.h>
int main()
{
int a,b,c;
a>2;
scanf("%d",&a);
for(b=2; b<a/2; b++)
{
if(a%b==0)
{
printf("No\n");
return 0;
}
}
printf("Yes\n");
}

可以啊!不过有个小错误!!
在for 循环中的n应该小于等于i,否则就不行了.

#includ

从键盘输入整数M和N,计算并输出M和N的最大公约数和最小公倍数 怎样从键盘输入一个0~99999之间的整数 从键盘输入一个0~1000之间的任意整数,输出该整数的所有因子. C++编程:从键盘输入一个整数n(要求n>12),并验证从6到n之间的所有偶数都可以分解为两个素数之和的形式 编程实现输出2*4*6...*n的乘积,n的值由键盘输入,n为整数 从键盘输入10个整数存到整型数组a中,然后统计并输出大于平均值的元素个数,并输出大于平均值的所有元素 用C语言编写一个程序,从键盘输入一个正整数,输出这个整数的所有因子 设m,n为大于0的整数,且3m+2n=225. 设m和n为大于0的整数,且3m+2n=225 设计一个程序,判断从键盘输入的整数的正负性和奇偶性