HOJ-1006
这题刚一看,卧槽,数论??同余方程,费马小定理,又要召唤欧拉大神犇??
再一看。。。是我想太多。
算过的人说答案只有0, 1, 2, Impossible四种可能。
管他呢,循环最多六十次(鸽笼原理),直接暴力妥妥的。
1 #include<cstdio> 2 3 int main(void) 4 { 5 int s, d; 6 int i; 7 scanf("%d%d", &s, &d); 8 while((s > 0) || (d > 0)) { 9 d++; 10 for(i = 0; i < 60; ++i){ 11 if(s == 0) { 12 printf("%d\n", i); 13 break; 14 } 15 s = s * d % 60; 16 } 17 if(i == 60) printf("Impossible\n"); 18 scanf("%d%d", &s, &d); 19 } 20 return 0; 21 }
1.以后像题目中要是说s=d=0是结束的话,就老老实实判断两个吧(~ ̄▽ ̄)~,开始只写了个s>0,然而没想到数据真的有坑爹的s=0,d≠0存在。。。