提交时间:2022-07-12 19:39:39

运行 ID: 46182

#include<bits/stdc++.h> using namespace std; char numberstring[10086]; int ok[110]; int isprime(int n){ if(n<2) return 0; for(int i=2;i<=sqrt(n);i++){ if(n%i==0){ return 0; } } return 1; } void tostring(int base,int n){ int i; for(i=0;n!=0;++i){ numberstring[i]=n%base; n/=base; } } int main(){ int k=0,b=0; for(int i=2;i<=100;i++){ if(isprime(i)){ ok[k]=i; k++; } } int a=0,ans=0; for(int i=k;i>=1;i--){ a=0; memset(numberstring,0,sizeof(numberstring)); tostring(2,ok[i]); int c=10; for(int j=0;j<=c;j++){ if(numberstring[j]==1) a++; } if(a!=0&&a%2==0) ans++; if(a!=0&&a%2==0&b==0) b=ok[i]; } cout<<ans<<' '<<b; return 0; }