Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
46127 | 陈路垚 | 夏令营旗手 | C++ | 无测评数据 | 0 | 0 MS | 0 KB | 707 | 2022-07-12 18:22:48 |
#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; }