求解C语言程序问题!非常感谢

统计由3 4 5 6 7五个数字所能组成的互不相同且无重复数字的三位数的个数,尽量避免使用循环嵌套,请问用三层for循环可以的话,怎么才能避免降低运算复杂度呢

计算个数的话那就是数学题了,N=5个不同的数,能够组合60个不同不重复数字的三位数


#include<stdio.h>

int main(){
    int member; //不同数字的元素个数
    int digit;//想组合的位数;/
    printf("input the Number of elements:");
    scanf("%d",&member);
    printf("input digit :");
    scanf("%d",&digit);
    int result=1;
    for(int i=0 ; i<digit;i++){
        result *= (member-i);
    }
    printf("所能组成的互不相同且无重复数字的三位数的个数为:%d",result);
    return 0;
}
int a[5] = {3,4,5,6,7};
for(int i=0;i<5;i++)
   for(int j=0;j<5;j++)
   {
       if(i==j)
          continue;
       for(int k=0;k<5;k++)
       {
             if(k==i || k==j)
                 continue;
             printf("%d%d%d\n",a[i],a[j],a[k]);
       }
   }

#include<stdio.h>
int main(void){
int a[5] = {3,4,5,6,7};
for(int i=0;i<5;i++)
   for(int j=0;j<5;j++)
   {
       if(i==j)
          continue;
       for(int k=0;k<5;k++)
       {
             if(k==i || k==j)
                 continue;
             printf("%d%d%d\n",a[i],a[j],a[k]);
       }
   }
}