输入N位数,然后每次倍乘,知道数字0到九出现?

比如说输入123,含数字1,2,3,然后依次倍乘234,369,492。。。。。。直到0到9的数字都出现
最后输出最终的那个数字,

如果问题得到解决,请点我回答左上角的采纳和向上的箭头,谢谢

应该是123 246 369 ... 吧

// Q714586.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"

#include "string.h"

#define MAX 500

void i2ar(int i, int * r)
{
    int j = 0;
    memset(r, 0, MAX * sizeof(int));
    while (i > 0)
    {
        r[j] = i % 10;
        j++;
        i /= 10;
    }
}

void arout(int * r)
{
    int i = MAX - 1;
    while(1)
    {
        if (i == 0) break;
        if (r[i] != 0) break;
        i--;
    }
    for (int j = i; j >= 0; j--)
    {
        printf("%d", r[j]);     
    }
}

void mul(int *r, int * m1, int * m2)
{
    int pre[MAX];
    memset(r, 0, MAX * sizeof(int));
    memset(pre, 0, MAX * sizeof(int));
    for (int i = 0; i < MAX; i++)
    {
        int carry = 0;
        for (int j = 0; j < MAX; j++)
        {
            int t = (pre[j] + r[j] + carry) % 10;
            carry = (pre[j] + r[j] + carry) / 10;
            r[j] = t;
        }
        memset(pre, 0, MAX * sizeof(int));
        carry = 0;
        for (int j = 0; j < MAX - i - 1; j++)
        {
            pre[j + i] = (m1[i] * m2[j] + carry) % 10;
            carry = (m1[i] * m2[j] + carry) / 10;
        }
    }
}

int _tmain(int argc, _TCHAR* argv[])
{
    int n;
    scanf("%d", &n);
    int N[MAX], N1[MAX], M[MAX], R[MAX], R1[MAX];
    i2ar(n, N);
    i2ar(n, R);
    int i = 1;
    while (1)
    {
        i++;
        int cnt = 0;
        for (int j = 0; j < 10; j++)
        {
            for (int k = 0; k < MAX; k++)
            {
                if (R[k] == j) { cnt++; break; }
            }
        }
        if (cnt == 10) 
        {
            printf("found!\n"); 
            break;
            }
        i2ar(i - 1, M);
        mul(N1, N, M);
        arout(R);
        printf("*");
        arout(N1);
        mul(R1, R, N1);
        memcpy(R, R1, sizeof(int) * MAX);
        printf("=");
        arout(R);
        printf("\n");
    }
    return 0;
}


123
123*123=15129
15129*246=3721734
3721734*369=1373319846
1373319846*492=675673364232
675673364232*615=415539119002680
415539119002680*738=306667869823977840
306667869823977840*861=264041035918444920240
264041035918444920240*984=259816379343749801516160
found!
Press any key to continue . . .

图片说明