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