(Problem 4)Largest palindrome product
A palindromic number reads the same both ways. The largest palindrome made from the product of two 2-digit numbers is 9009 = 91 99.
Find the largest palindrome made from the product of two 3-digit numbers.
#include<stdio.h> #include<math.h> #include<string.h> #include<ctype.h> #include<stdlib.h> #include<stdbool.h> bool palindromic(int n) //判断一个整数是否为回文数 { char s[10]; sprintf(s,"%d",n); //将整数n保存在字符数组s中 int i,len; len=strlen(s); for(i=0; i<len/2; i++) { if(s[i]!=s[len-i-1]) return false; } return true; } bool have_the_factor(int n) //判断是否含有两个3位数的因数 { int s=999; int r,b; while(s>100) { if((n%s)==0 && ((n/s)>100 && (n/s)<1000)) return true; s--; } return false; } int main() { int i=1000000; while(i>0) { if(palindromic(i) && have_the_factor(i)) { printf("%d\n",i); break; } i--; } return 0; }
Answer:
|
906609 |
作者:acutus
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利.