N次項乘法表

  • 1591
  • 0
  • C++
  • 2010-04-29

摘要:N次項乘法表

 標準的九九乘法表有 n=2個項目,也就是利用i與j的迴圈印出,

那麼,我們想出來的問題就是,當使用者輸入n=3時,

則會輸出 1*1*1~9*9*9的答案,n=4時輸出1*1*1*1~9*9*9*9,

#include "stdafx.h"
#include <iostream>

int n, array[105];

void f(int step)
{
    if (step == n)
    {
        int v = 1;
        for(int i = 0; i < n; ++i)
        {
            v *= array[i];
			if (i == n - 1)
				printf("%d ", array[i]);
			else
				printf("%d * ", array[i]);
        }
        printf(" = %d\n", v);
        return;
    }

    for (int i = 1; i <= 9; ++i)
    {
        array[step] = i;
        f(step + 1);
    }
}

int _tmain(int argc, _TCHAR* argv[])
{
    while (scanf("%d",&n) != EOF)
        f(0);
	system("pause");
	return 0;
}

作者為ptt上的godgunman,利用遞迴來做的,嗯....挺有趣的,雖然我不太會做遞迴...囧