1426
”但是由于数据等其他方面的原因,导致某些题目可以暴力的通过,所以,建议大家在比赛时也要勇于尝试,说不定就能过。“
本题数据给的都是可直接用long long求解的。下面给出不钻空子的算法:
#include"stdio.h" #include"limits.h" int mod_b[1000000]; int main(){ while(1){ int x; scanf("%d",&x); if(x==0) break; mod_b[1]=1; int i; // b = (b/10)* 10 + b%10 // 被除数 = 商 * 除数 + 余数 // 同余模定理 // b % x = ((b/10) * 10 + b%10)%x // = (((b/10) * 10)%x + b%10)%x // =((((b/10)%x)* 10) + b%10)%x for(i=2;mod_b[i-1]!=0;i++){ mod_b[i]=(mod_b[i/2]*10+i%2)%x; } int a= i-1; int ans[205]; int cnt=0; while(a){ ans[cnt++]=a%2; a /= 2; } for(int j=cnt-1;j>=0;j--){ printf("%d",ans[j]); } printf(" "); } }