H - 数的尾巴 HDU - 2099

一个整数,只知道前几位,不知道末二位,被另一个整数除尽了,那么该数的末二位该是什么呢?

Input

输入数据有若干组,每组数据包含二个整数a,b(0<a<10000, 10<b<100),若遇到0 0则处理结束。

Output

对应每组数据,将满足条件的所有尾数在一行内输出,格式见样本输出。同组数据的输出,其每个尾数之间空一格,行末没有空格。

Sample Input

200 40
1992 95
0 0

Sample Output

00 40 80
15

(1)常规解法

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main()
{
    int n,m,i;
    int a[10010],t=0;
    while (~scanf("%d %d",&n,&m)&&n&&m)
    {
        t=0;
        memset(a,0,sizeof(a));
        n=n*100;
        for(i=0;i<=99;i++)
		{
            if((n+i)%m==0) a[t++]=i;
        }
        for(i=0;i<t-1;i++)
            printf("%02d ",a[i]);
        printf("%02d\n",a[t-1]);
    }
    return 0;
}

(2)这个有点不寻常...(emmm..)

#include<iostream>
using namespace std;
int main()
{
	int a,b;
	while(cin>>a>>b&&a&&b){
		int k,x;
		k=a*100/b;
		int j=0;
		for(int i=k;i<100000;i++)
		{
			x=i*b-a*100;
			if(x<0) continue;
			if(x>=100) break;
			if(j!=0) cout<<" ";
			j++;
			if(x>=0&&x<=9) cout<<0<<x;
			else cout<<x;
		}
		cout<<endl;
	}
	return 0;
}

猜你喜欢

转载自blog.csdn.net/qq_41555192/article/details/81428032
今日推荐