lightoj 1078【同余定理】
题意:
给你一个n和一个数 digit ,问你最少需要多少个 digit 使得整除于n;
思路:
给你一个n和一个数 digit ,问你最少需要多少个 digit 使得整除于n;
思路:
同余定理(a+b)%n=(a%n+b%n)%n;
(m%n+m%n*10+m%n*100+m%n*1000......)%n==0;
temp=m%n;
temp=(temp*10+m)%n=(10*m%n+m%n)%n;
temp=(temp*10+m)%n=(10*10*m%n+10*m%n+m)%n;
if(temp==0)
满足;
#include <bits/stdc++.h> using namespace std; typedef long long LL; int main() { int T,cas=1; int n,m,cnt,temp; scanf("%d",&T); while(T--) { cnt=1; scanf("%d%d",&n,&m); temp=m%n; while(temp) { temp=(temp*10+m)%n; cnt++; } printf("Case %d: %d\n",cas++,cnt); } return 0; }