本帖最后由 jackz007 于 2022-9-7 22:54 编辑
C 是结构化编程语言,必须绝对禁止使用 goto 语句#include <stdio.h>
// 判断 m 是否回文数
int foo(int m)
{
int d , n , r ;
for(n = m , d = r = 0 ; n ; n /= 10) d = d * 10 + n % 10 ;
if(d == m) r = 1 ;
return r ;
}
// 判断 m 是否回文数,并且,判断 m 是否可以被分解为两个三位数的乘积
int check(int m , int * q)
{
int d , r ;
* q = r = 0 ;
if(foo(m)) {
for(d = 100 ; d < 1000 ; d ++) {
if(! (m % d) && && m / d > 99 && m / d < 1000) {
r = 1 ;
* q = d ;
break ;
}
}
}
return r ;
}
int main(void)
{
int d , k ;
for(k = 998001 ; k > 10000 ; k --) {
if(check(k , & d)) {
printf("%d = %d x %d\n" , k , d , k / d) ;
break ;
}
}
}
编译、运行实况:D:\[00.Exerciese.2022]\C>g++ -o x x.c
D:\[00.Exerciese.2022]\C>x
906609 = 913 x 993
D:\[00.Exerciese.2022]\C>
|