|
发表于 2015-1-31 21:34:23
|
显示全部楼层
菜鸟,自学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;
- }
复制代码 |
|