|
最后整理好的代码
- #include <stdio.h>
- void next(int*);
- int check1(int);
- int check2(int);
- int check_result(int);
- int main()
- {
- int p, j=20, k=20;
- for(p=1; p<=9; p+=2){
- j = 20;
- while(j<=88){
- k = 20;
- while(k<=88){
- int a = (p*100 + j) * (k % 10);
- int b = (p*100 + j) * (k / 10) * 10;
- if(check1(a) && check2(b) && check_result(a+b)){
- printf("%d%d %d %d %d %d\n", p, j, k, a, b, a+b);
- printf("%d%d x %d = %d\n", p, j, k, a+b);
- }
- next(&k);
- }
- next(&j);
- }
- }
- return 0;
- }
- void next(int* num)
- {
- (*num) += 2;
- if(*num / 10 % 2 == 1)
- (*num) += 10;
- }
- int check1(int num)
- {
- int thou, hun, tens;
- if(num < 1000 || num > 9999)
- return 0;
- thou = num / 1000;
- hun = num % 1000 / 100;
- tens = num % 100 / 10;
- return thou % 2 == 0 && hun % 2 == 1 && tens % 2 == 0;
- }
- int check2(int num)
- {
- int thou, hun;
- if(num < 1000 || num > 9999)
- return 0;
- thou = num / 1000;
- hun = num % 1000 / 100;
- return thou % 2 == 0 && hun % 2 == 1;
- }
- int check_result(int num)
- {
- int thou, hun;
- if(num < 1000 || num > 9999)
- return 0;
- thou = num / 1000;
- hun = num % 1000 / 100;
- return thou % 2 == 1 && hun % 2 == 1;
- }
复制代码 |
|