用1234组合成8位数列出全部组合

电脑我什么都不会,麻烦帮忙列出来谢谢!
电脑我什么都不会,麻烦帮忙列出来谢谢!
电脑我什么都不会,麻烦帮忙列出来谢谢!

如果太长可以加我发个文件

从11111111到44444444全部组合:https://www.aliyundrive.com/s/KqKUswnivy5
至少包含1234各一次的全部组合:https://www.aliyundrive.com/s/qeAwT31K5xu

def arr(str):
    if(len(str)==8):
        return
    for i in ['1','2','3','4']:
        str1=str+i
        arr(str1)
        if(len(str1)==8):
            with open("data.csv",'a') as f:
                f.write(str1+'\n')


def main():
    str=''
    arr(str)

main()


#include <iostream>
using namespace std;
int main(int argc, char* argv[])
{
    long long Sum = 0; 
    long long index = 1;
    int array[8];
    for(int i0 =1; i0<= 4; i0++)
    {
        array[0] = i0;
        Sum += i0*index;
        index *= 10;
        for(int i1 = 1; i1 <=4; i1++)
        {
            array[1] = i1;
            Sum += i1*index;
            index *= 10;
            for(int i2 = 1; i2<=4; i2++)
            {
                array[2] = i2;
                Sum += i2*index;
                index *= 10;
                for(int i3 = 1; i3<=4; i3++)
                {
                    array[3] = i3;
                    Sum += i3*index;
                    index *= 10;

                    for(int i4 = 1; i4<=4; i4++)
                    {
                        array[4] = i4;
                        Sum += i4*index;
                        index *= 10;
                        for(int i5 = 1; i5<=4; i5++)
                        {
                            array[5] = i5;
                            Sum += i5*index;
                            index *= 10;

                            for(int i6 = 1; i6<=4; i6++)
                            {
                                array[6] = i6;
                                Sum += i6*index;
                                index *= 10;

                                for(int i7 = 1; i7<=4; i7++)
                                {
                                    array[7] = i7;
                                    Sum += i7*index;
                                    cout<<Sum<<endl;
                                }

                            }
                        }

                    }
                }

            }
        }
    }
return 0;
}

确实太大了,组合有没有什么其他要求?