0
点赞
收藏
分享

微信扫一扫

XTU 1223 Repeat One


Description
题目描述
求由最小的一个N,N个数码1组成的数能被M整除? 比如M=3时,111能被3整除。M=2时,则不存在这样的N。

输入
第一行是一个整数K(K≤1,000),表示样例的个数。 以后每行一个整数M(1≤M≤1,000,000)

输出
每行输出一个样例的结果,如果不存在这样的N,输出0。

样例输入
5
1
2
3
4
999989

样例输出
1
0
3
0
473670

Sample Input

Sample Output

Source

XTU 1223 Repeat One_#include


一开始看题目,看不太明白。

总的来说,就是,n个1组成的数能否被m整除,如果能,输出n,n<=m。

我的题解中count是计数器,n是count个1组成的数,我们输出count

#include <stdio.h>
int main()
{
int k;
scanf("%d",&k);
while(k--)
{
int m;
scanf("%d",&m);
int count=0,i,n=1;//count是计数器
for(i=0;i<m;i++)//count<=m
{
n=n%m;
count++;
if(n==0)
{
break;
}
else
{
n=n*10+1;//这里n已经是n=n%m了,所以n可能不是由1组成的数了,但是n=n*10+1,一样可以这么赋值。例如111能被3整除,21同样也能被3整除
}
}
if(n==0)
{
printf("%d\n",count);
}
else
{
printf("0\n");
}
}
}

写于2021年8月29日17:52分。


举报

相关推荐

XTU OJ 1394

xtu 1296 GCD

XTU OJ 1395

XTU OJ 1525瓷片

repeat_欧氏筛

XTU中显示power limit throttling

0 条评论