菜鸟,自学C时间还不长,还望多多指教。#include <stdio.h>
#define NUM1 9*8*7*6*5*4*3*2
#define NUM2 45
void getDigit(int num, int *a1, int *a2, int *a3);
void main(void){
int i, j, k;
int one, two, three;
int digits[9];
int a, b;
// initialize
one = 0;
two = 0;
three = 0;
for (i = 0; i < 9; i++) {
digits[i] = 0;
}
for (j = 123; j <= 329; j++) {
one = j;
two = j*2;
three = j*3;
getDigit(one, digits + 0, digits + 1, digits + 2);
getDigit(two, digits + 3, digits + 4, digits + 5);
getDigit(three, digits +6, digits + 7, digits + 8);
a = 1;
b = 0;
for (i = 0; i < 9; i++) {
a *= digits[i];
b += digits[i];
}
if (a == NUM1 && b == NUM2) {
printf("One qualified set of numbers is: %d %d %d.\n", one, two, three);
}
}
}
void getDigit(int num, int *a1, int *a2, int *a3) {
*a1 = num%10;
*a2 = num/100;
*a3 = num/10%10;
}
|