题目描述
Sramoc ( K , M ) 表示用数字0、1、2…、K-1组成的自然数中能被M整除的最小数。给定 K、M,求Sramoc ( K,M )。例如 K=2,M=7的时候,Sramoc( 2 , 7 ) = 1001。
输入输出格式
输入格式:
一行,为两个整数K、M,两数之间有一个空格,满足2<=K<=10、1<=M<=1000。
输出格式:
一行,结果值。
输入输出样例
输入样例:
2 7
输出样例:
1001
提示
由于本题数据规模不大,可以从个位开始向高位逐位从0到K-1枚举,直到找到能M整除的数为止。
分析
求最小的倍数,可以让基数为M,并每次加上M,并进行数位分解,判断给数位上的数是否<=K
AC代码
#include<iostream>
#include<cstdio>
using namespace std;
long long k,m,i,j;
int main()
{
scanf("%lld%lld",&k,&m);
i=0;
do
{
i+=m;
j=i;
while(j!=0)
{
if(j%10>=k)
break;
j/=10;
}
}while(j!=0);
printf("%lld",i);
return 0;
}
·······本代码只适合数据范围较小的题目