Cartier @ 2022-11-20 16:33:34
#include<bits/stdc++.h>
using namespace std;
bool zhishu(int n){
for(int j=2;j*j<=n;j++){
if(n%j==0){return false;}}
return true;}
bool huiwen (int n){
int k=n;
int s=0;
while(k>=1){
s*=10;s+=k%10;
k=k/10;}
if(s==n){return true;}
return false;}
int main()
{
int a,b=0;
cin>>a>>b;
for(int i=a;i<=b;i++){
if(huiwen(i)&&zhishu(i)){
cout<<i<<endl;}}
return 0;}'''
请问为什么在main中调用函数时,先调用回文函数会比先调用质数函数更快,可是我在定义函数时是先定义的质数函数?好奇怪
by Hisaishi_Kanade @ 2022-11-20 16:34:48
&&
是短路与。
前一个为假后一个直接不算。
显然回文的成立概率小很多。
by AfterFullStop @ 2022-11-20 16:38:02
@Cartier 判定回文是
因此先判回文,如果不是就不判质数,这样肯定会更快
by Cartier @ 2022-11-20 17:27:35
太谢谢了大佬们了,我明白了