鱼C论坛

 找回密码
 立即注册

牡丹花下死做鬼

https://fishc.com.cn/?217717

个人做题记录项目欧拉第四题

已有 435 次阅读2013-8-11 20:42 |个人分类:编程

4.(Microsoft Visual Stdio 2010)
一个回文数指的是从左向右和从右向左读都一样的数字。最大的由两个两位数乘积构成的回文数是9009 = 91 * 99.
找出最大的有由个三位数乘积构成的回文数。

代码:
#include<stdio.h>//998001  906609

int f(int n);

int main(int argc, char ** argv)
{
int i,j,k,n=0;
for ( i = 9; i >=0 ; i--)
{
for (j = 9; j >= 0; j--)
{
for (k = 9; k >= 0; k--)
{
n = i * 100000 + j * 10000 + k * 1000 + k * 100 + j * 10 + i;
if (f(n))
{
printf("The best is %d\n", n);
return 0;
}
}
}
}
return 0;
}
int f(int n)
{
int t;
if (n > 998001)
{
return 0;
}
for (t = 999; t > 100; t--)
{
if (n%t == 0)
{
return 1;
}
if (n / t > t)
{
return 0;
}
}
}


路过

鸡蛋

鲜花

握手

雷人

评论 (0 个评论)

facelist

您需要登录后才可以评论 登录 | 立即注册

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-5-19 10:36

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

返回顶部