码迷,mamicode.com
首页 > 其他好文 > 详细

欧拉计划·第四题

时间:2015-03-16 19:22:37      阅读:100      评论:0      收藏:0      [点我收藏+]

标签:欧拉计划

题目4:找出由两个三位数乘积构成的回文。

一个回文数指的是从左向右和从右向左读都一样的数字。最大的由两个两位数乘积构成的回文数是9009 = 91 * 99.

找出最大的有由个三位数乘积构成的回文数。

源代码

STDMETHODIMP COuLa::Test4(int iMaxNumber)
{
	// TODO: 在此添加实现代码
	int outputNumber = 0;
	int iMaxOutputNumber = 0;
	for(int i = iMaxNumber/10; i<iMaxNumber; i++)
	{
		for(int j = i; j<iMaxNumber; j++)
		{
			outputNumber = j*i;
			int iFirstNumber = outputNumber;
			int iSecondNumber = iFirstNumber;
			int iThirdNumber = iSecondNumber;
			while(iFirstNumber > 9)
			{
				iThirdNumber = iSecondNumber%10;
				iSecondNumber = iFirstNumber%10;
				iFirstNumber = iFirstNumber/10;
			}
			//printf("iFirstNumber is %d.\n", iFirstNumber);
			if(outputNumber%10 == iFirstNumber && (outputNumber/10%10) == iSecondNumber && (outputNumber/100%10) == iThirdNumber)
			{
				if(iMaxOutputNumber < outputNumber) iMaxOutputNumber = outputNumber;
			}
		}
	}
	printf("The Test 4 Number is %d.\n",iMaxOutputNumber);
	return S_OK;
}

函数调用

#define TEST4_NUMBER 1000
IOula->Test4(TEST4_NUMBER);

输出

The Test 4 Number is 906609.

欧拉计划·第四题

标签:欧拉计划

原文地址:http://blog.csdn.net/u010095741/article/details/44310105

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!