提交时间:2022-07-12 18:22:48
运行 ID: 46127
#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=1,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--){ memset(numberstring,0,sizeof(numberstring)); tostring(2,ok[i]); for(int j=1;j<=sizeof(numberstring);j++){ if(numberstring[j]==1) a++; } if(a%2==0) ans++; if(a%2==0&b==0) b=ok[i]; } cout<<ans<<' '<<b; return 0; }