【问题描述】
将1~9这9个数字分成3个3位数,要求第一个数是第二个数的二分之一,是第三个数的三分之一。要求用指针处理。
【参考代码】
#include <stdio.h>
int a[9];
int search(int n, int* p)
{
int i, * q;
for (i = 0; i < 3; i++)
{
*p = n % 10;
n = n / 10;
if (*p == 0) return 0;
for (q = a; q < p; q++)
{
if (*q == *p) return 0;
}
p++;
}
return 1;
}
int main()
{
int n, * p = a;
for (n = 123; n <= 329; n++)
{
if (search(n, p) && search(2 * n, p + 3) && search(3 * n, p + 6)) break;
}
printf("%d %d %d\n", n, 2 * n, 3 * n);
return 0;
}