RT
一个素数 ,当他的数字位置对换以后仍为素数,这样的素数称为绝对素数。
编写一个程序,求出所有的两位绝对素数.
求大大帮我写个
那个 我们学的是C++面向对象程序设计 我还只学了一章 难的看不大懂~~
谢谢
RT
一个素数 ,当他的数字位置对换以后仍为素数,这样的素数称为绝对素数。
编写一个程序,求出所有的两位绝对素数.
求大大帮我写个
那个 我们学的是C++面向对象程序设计 我还只学了一章 难的看不大懂~~
谢谢
if(num%i==0) //分别用num对2,4,6,8....取余,余数不为0才为素数,如果等于0,返回false
说明一下 这里解释错了一点,应该是num对2,3,4,5...sqrt(num)取余,大于sqrt(num)不必再判断,因为是sqrt(num)的平方数,结果与sqrt(num)相同!
#include<iostream> #include<math.h> using namespace std; bool isprime(int n){ int i; for(i=2;i<=sqrt(n);i++){ if(n%i==0) return false; } return true; } int main() { int i,j; cout<<"所有的两位绝对素数:"<<endl; for(i=10;i<100;i++){ j=(i%10)*10+i/10; if(isprime(i)&&isprime(j)) cout<<i<<" "; } cout<<endl; system("pause"); return 0; }