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 ",i); break; } i--; } return 0; }
Answer:
|
906609 |