zoukankan      html  css  js  c++  java
  • 欧拉计划·第四题

    题目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.
    ", 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.
    ",iMaxOutputNumber);
    	return S_OK;
    }

    函数调用

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

    输出

    The Test 4 Number is 906609.

  • 相关阅读:
    C#继承
    正则表达式
    C#笔记
    斐波那契数
    out参数
    重载和重写
    数组元素交换位置
    Win10图标显示不正常解决办法
    Linux添加sftp用户并限制其访问目录
    pclzip 解压的文件去掉文件夹
  • 原文地址:https://www.cnblogs.com/bhlsheji/p/5164277.html
Copyright © 2011-2022 走看看