一个数论知识:如果两个数同余,那么对这两个数作任何相同运算,结果还是同余。
#include <iostream> #include <cstring> #include <string> #include <cstdio> #include <cmath> #include <algorithm> #include <vector> #include <queue> #include <map> #define inf 0x3f3f3f3f using namespace std; int main() { int n; while(~scanf("%d",&n)) { if(n==1) { printf("1\n"); continue; } int m=1,cnt=1; while(m) { m=(m*10+1)%n; cnt++; } printf("%d\n",cnt); } return 0; }