#include<iostream>
using namespace std;
int gg(int n){
int num=0;
while(n!=0)
{
num=num+n%10;
n=n/10;
}
return num;
}
bool prime(int x){
int sum=0;
for(int i=2;i*i<=x;i++)if(x%i==0)sum++;
if(sum==0)return true;
else return false;
}
int main()
{
int a,n,m,sum=0;
cin>>a;
for(int i=1;i<=a;i++){
cin >> n>>m;
for(int j=n;j<=m;j++){
if(prime(j)==true&&prime(gg(j))==true){
sum++;
}
}
cout << sum << endl;
}
return 0;
}
各位大佬,我的思路是似乎没有错误……
gg函数是用来求出所有数位加在一起的和
prime函数是用来判断素数
如果区间内的i是素数并且所有位数加在一起的和也是素数的话,累加器+1,最后输出累加器(边输入边输出)
但是为什么连样例都过不了……
帮忙看看,谢谢!