|
|
发表于 2021-8-8 22:52:51
|
显示全部楼层
- #include <stdio.h>
- int count;
- int ispalindrome(int n)
- {
- int result = 0;
- int value = n;
- while(n!=0)
- {
- count++;
- result = (n%10) + result * 10;
- n = n / 10;
- }
- return (result == value)?1:0;
- }
- int main(void)
- {
- int max_i, max_j;
- int max;
-
- int i=999,j=999;
- for(i=999;i>=100;i--)
- {
- for(j=999;j>=100;j--)
- {
- if (i<max_i && j < max_j) break; //不加这段count = 4718843加上count = 500591
- if (ispalindrome(i * j)){
- if (i * j > max){
- max_i = i;
- max_j = j;
- max = (i * j > max)?i * j:max;
- }
- }
- }
- }
- printf("%d * %d = %d\n", max_i, max_j, max);
- printf("count = %d\n", count);
- return 0;
- }
复制代码 |
|