|
|
发表于 2021-10-27 13:42:09
|
显示全部楼层
本帖最后由 番杰 于 2021-10-27 13:58 编辑
- #include<stdio.h>
- int mian(void)
- {
- int t1,t10,t100,temp;
- int a,b,max;
- int flag = 0 ;
- for(int i = 997799;i>10000;i--) // 从997799开始,是因为它是998001(999*999)之下最大的回文数
- {
- if(i>100000) //六位回文数
- {
- t1 = i % 10;
- t10 = (i % 100) / 10;
- t100 = (i % 1000) /100;
- temp = (t1 * 100) + (t10 * 10) + t100;
-
- if(temp == (i/1000)) //判断是否是回文数
- {
- for(int j = 999;j>=100;j--)
- {
- if(i % j == 0)
- {
- if(j > 99 && j < 1000)
- {
- a = j ;
- b = i / j ;
- max = i;
- flag = 1;
- break;
- }
- }
- }
- if(flag == 1)
- break;
- }
- }
- else //五位回文数
- {
- t1 = i % 10;
- t10 = (i % 100) / 10;
- temp = (t1 * 100) + (t10 * 10) ;
-
- if(temp == (i/1000))
- {
- for(int j = 999;j>=100;j--)
- {
- if(i % j == 0)
- {
- if(j > 99 && j < 1000)
- {
- a = j ;
- b = i / j ;
- max = i;
- flag = 1;
- break;
- }
- }
- }
- if(flag == 1)
- break;
- }
- }
- printf("%d = %d + %d",c,a,b);
- return 0 ;
- }
复制代码 |
|