HDU2099-整除的尾数

Problem Description

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

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

我的见解:简单的一道题,有不同的思路,如果按数学人的思维就如第一个代码,按机器的思维就是第二个代码,话不多说,看懂即领悟,.

代码(人的思维)

#include <iostream>
using namespace std;
int main()
{
	int n,u;

	while (cin >> n >> u)
	{
		int k = 0, i = 0,t=0;
		if (n== 0 && u == 0) break;
		int *p = new int[10];
		if (n*100%u == 0)cout << "00 ";
		if (u - (n * 100) % u <10)cout << "0";
		k = u - (n * 100) % u;
		for (; k < 100-u; i++)
		{
			p[i] = k;
			k += u;
			cout << p[i] << " ";
			
		}
	
		cout << k << endl;




	}
}

代码(机器思维)

#include<iostream>
using namespace std;

int main()
{
	int a, b;
	while (cin >> a >> b)
	{
		int t, i;
		int *p = new int[10];
		if (a == 0 && b == 0) break;
		else
		{
			a *= 100;
			for (t = i = 0; i < 100; i++)
			{
				if ((a + i) % b == 0) p[t++] = i;
			}
			for (i = 0; i < t; i++)
			{
				if (p[i] < 10) cout << "0" << p[i];
				else cout << p[i];
				if (i < t - 1)cout << " ";
				else cout << endl;
			}
		}
	}
}


版权声明:本文为weixin_43999137原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。