展开全部
#include<iostream>
#include<cmath>
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<<a<<"是素数"<<endl;
}
else
{
cout<<a<<"不是素数"<<endl;
}
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;
}
展开全部
#include<math.h>/*sqrt*/
#include<stdio.h>/*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;
}
#include<stdio.h>/*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;
}
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include <stdio.h>
#include <math.h>
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;
}
// 不懂请追问
更多追问追答
追问
谢谢,我是做题目的,照这样写入就可以了吗?
追答
做什么题目哦,这个就是完整的代码了。交作业?
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这个程序是求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);
}
}
#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);
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询