问题描述
编写程序,求n至少为多大时,n个1组成的整数能被m整除
代码实现
#include<iostream>
using namespace std;
int f(int n) {
int sum = 1, len = 1;
while (sum % n) {
len++;
//如果算的是2013,sum*10+1除2013的余数,可以先算sum%2013,就是把sum可以整除部分先提前减掉,再来求其余数
sum = (sum % n) * 10 + 1;
}
return len;
}
int main()
{
int m,N,i;
while (cin >> N&&N > 0)
{
for (i = 0; i < N; i++)
{
cin >> m;
cout << f(m) << endl;
}
if (i == N)
break;
}
return 0;
}
本文介绍了一种算法,用于确定n至少为多大时,由n个1组成的整数能被任意正整数m整除。通过循环累加1并检查余数,直到找到满足条件的最小n值。
2451

被折叠的 条评论
为什么被折叠?



