题意
给出两个数n和digit,求要几个(cnt)digit能把n整除。 例如给出3和1, 111能整除3, 所以cnt为3。
思路
很明显的同余定理,(a+b)%n=(a%n+b%n)%n。
ans = ( ans * 10 + digit ) % n;
代码
#include <cmath>
#include <cstdio>
#include <cstring>
#include <iostream>
using namespace std;
int main () {
int T;
scanf ( "%d", &T );
for ( int ks = 1; ks <= T; ++ks ) {
int n, digit;
scanf ( "%d%d", &n, &digit );
int cnt = 1, ans = digit % n;
while ( ans ) {
ans = ( ans * 10 + digit ) % n;
++cnt;
}
printf ( "Case %d: %d\n", ks, cnt );
}
return 0;
}