#include <stdio.h>
int main()
{
int a=0
int num=0
int i
printf("输入一个整数:")
scanf("%d",&num)
for(i=2i<numi++){
if(num%i==0){
a++
}
}
if(a==0){
printf("%d是素数。\n", num)
}else{
printf("%d不是素数。\n", num)
}
return 0
}
扩展资料:
质数又称素数。一个大于1的自然数,除了1和它自身外,不能被其他自然数整除的数叫做质数;否则称为合数。
基本算法:若 k%m==0 则说明 k 不是素数。
判断整数n是否为素数——采用枚举法求解。
采用枚举算法解题的基本思路:
(1)确定枚举对象、枚举范围和判定条件;
(2)枚举可能的解,验证是否是问题的解。
枚举算法的一般结构:while循环。
参考资料来源:百度百科-枚举法
#include#include
void
main()
{
int
iPoh,iPos,iPog,iNum
=
0
/*定义变量
ipoh为百位
ipos为十位
ipog为个位,iNum为最后的水仙花数字*/
for
(iNum=100
iNum<=300
iNum++)
{
iPoh
=
iNum/100
/*分解出数字的百
十
个位上的数字*/
iPos
=
(iNum%100)/10
iPog
=
iNum%10
if
(iPoh*iPoh*iPoh+iPos*iPos*iPos+iPog*iPog*iPog
==
iNum)
/*判断是否为水仙花数字*/
{
printf("%-6d",iNum)
}
/*输出结果*/
}
getch()
}
经过测试验证!
以下是求n(n由键盘在程序运行时输入)以内所有素数的程序:
#include <iostream>
using namespace std
int isprime(int n)
{for(int i=2i*i<=ni++)
if(n%i==0)return 0
return n>1
}
int main()
{int n,i
cin>>n
for(i=2i<=ni++)
if(isprime(i))
cout<<i<<" "
cout<<endl
return 0
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)