c语言编程:输入一个正整数n,判断它是否为素数

c语言编程:输入一个正整数n,判断它是否为素数 谁帮帮忙
2024-11-12 20:54:52
推荐回答(5个)
回答1:

#include

#include

using namespace std;

int main()

{

int a,b,i,flag=true;

cin>>a;

b=sqrt(a);

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

{

if(a%i==0)

{

flag=false;

break;

}

}

if(flag)

{

cout<

}

else

{

cout<

}

return 0;

}

扩展资料

其他方法判断一个数是否是素数:

/**

* 判断一个数是否为素数

* @param n

* @returns {boolean}

*/

var isPrime = function (n) {

if ( n === 0 || n === 1){

return false;

}

for (var i = 2; i <= Math.sqrt(n); i++) {

if (n % i === 0) {

return false;

}

}

return true;

}

回答2:

#include 
#include 

void main()
{
    int n,r,i;
    printf("输入 n:");
    scanf("%d",&n);
    for(i=2;i<=n-1;i++)
    {
        r=n%i;
        if(r==0)
            break;
    }

    if(i>=n)
        printf("n=%d,是素数\n",n);
    else
        printf("n=%d,不是素数\n",n);
}

回答3:

#include/*sqrt*/
#include/*scanf,printf,system*/
int isPrime(int n)//判断n是否为素数,如果是则返回1,否则返回0.
{
if(n<=1)return 0;//小于等于1直接退出
int i;
for(i = 2; i <= (int)sqrt(n); i ++)//从2到算术平方根遍历。
if(!(n%i)) return 0;//存在约数,不是素数,返回0.
return 1;//不存在约数,返回1,表示为素数。
}
main ()
{
int num;
scanf ("%d", &num);
if ( isPrime( num) )//num是素数
printf ("%d is a prime",num);
else
printf ("%d isn't a prime",num);//num不是素数

system("PAUSE");//暂停界面
return 0;
}

回答4:

#include 
#include 

int main(void)
{
    int nNum;
    int i;
    int m;
    printf("请输入这个数:\n");
    scanf("%d", &nNum);
    m = sqrt(nNum);
    for (i = 2; i < m; i++)
    {
        if (nNum % i == 0)
        {
            printf("这个数(%d)不是素数!\n", nNum);
            return 0;
        }
     }
     printf("这个数(%d)是素数!\n");
     return 0;
}
// 不懂请追问

回答5:

这个程序是求100以内的素数。希望你在这个基础上根据你的需要进修修改。这样你既能参考也能学习哈~~~
#include "stdio.h"
void main()
{
int x,y,i,j;
for(i=2;i<=100;i++)
{
x=i;//将i赋值给x保存。
y=0;//将y的数值清零
for(j=1;j<=x;j++)
{
if((x%j)==0) y++;
}
if(y==2)
printf("%5d",x);
}
}