%%%太强啦
by 菰冭 @ 2018-10-20 16:40:06
知道了,下一个
by tryrtj @ 2018-10-20 16:51:02
#include<bits/stdc++.h>
using namespace std;
int main()
{
int n;
cin>>n;
if(n==1)
for(int a=1;a<=2;a++)
{
printf("%5d",a);
printf("\n");
}
if(n==2)
for(int a=1;a<=2;a++)
for(int b=1;b<=2;b++)
if(a!=b)
{
printf("%5d%5d",a,b);
printf("\n");
}
if(n==3)
{
for(int a=1;a<=3;a++)
for(int b=1;b<=3;b++)
for(int c=1;c<=3;c++)
if(a!=b&&a!=c&&b!=c)
{
printf("%5d%5d%5d",a,b,c);
printf("\n");
}
}
if(n==4)
{
for(int a=1;a<=4;a++)
for(int b=1;b<=4;b++)
for(int c=1;c<=4;c++)
for(int d=1;d<=4;d++)
if(a!=b&&a!=c&&a!=d&&b!=c&&b!=d&&c!=d)
{
printf("%5d%5d%5d%5d",a,b,c,d);
printf("\n");
}
}
if(n==5)
{
for(int a=1;a<=5;a++)
for(int b=1;b<=5;b++)
for(int c=1;c<=5;c++)
for(int d=1;d<=5;d++)
for(int e=1;e<=5;e++)
if(a!=b&&a!=c&&a!=d&&a!=e&&b!=c&&b!=d&&b!=e&&c!=d&&c!=e&&d!=e)
{
printf("%5d%5d%5d%5d%5d",a,b,c,d,e);
printf("\n");
}
}
if(n==6)
{
for(int a=1;a<=6;a++)
for(int b=1;b<=6;b++)
for(int c=1;c<=6;c++)
for(int d=1;d<=6;d++)
for(int e=1;e<=6;e++)
for(int f=1;f<=6;f++)
if(a!=b&&a!=c&&a!=d&&a!=e&&a!=f&&b!=c&&b!=d&&b!=e&&b!=f&&c!=d&&c!=e&&c!=f&&d!=e&&d!=f&&e!=f)
{
printf("%5d%5d%5d%5d%5d%5d",a,b,c,d,e,f);
printf("\n");
}
}
if(n==7)
{
for(int a=1;a<=7;a++)
for(int b=1;b<=7;b++)
for(int c=1;c<=7;c++)
for(int d=1;d<=7;d++)
for(int e=1;e<=7;e++)
for(int f=1;f<=7;f++)
for(int g=1;g<=7;g++)
if(a!=b&&a!=c&&a!=d&&a!=e&&a!=f&&a!=g&&b!=c&&b!=d&&b!=e&&b!=f&&b!=g&&c!=d&&c!=e&&c!=f&&c!=g&&d!=e&&d!=f&&d!=g&&e!=f&&e!=g&&f!=g)
{
printf("%5d%5d%5d%5d%5d%5d%5d",a,b,c,d,e,f,g);
printf("\n");
}
}
if(n==8)
{
for(int a=1;a<=8;a++)
for(int b=1;b<=8;b++)
for(int c=1;c<=8;c++)
for(int d=1;d<=8;d++)
for(int e=1;e<=8;e++)
for(int f=1;f<=8;f++)
for(int g=1;g<=8;g++)
for(int h=1;h<=8;h++)
if(a!=b&&a!=c&&a!=d&&a!=e&&a!=f&&a!=g&&a!=h&&b!=c&&b!=d&&b!=e&&b!=f&&b!=g&&b!=h&&c!=d&&c!=e&&c!=f&&c!=g&&c!=h&&d!=e&&d!=f&&d!=g&&d!=h&&e!=f&&e!=g&&e!=h&&f!=g&&f!=h&&g!=h)
{
printf("%5d%5d%5d%5d%5d%5d%5d%5d",a,b,c,d,e,f,g,h);
printf("\n");
}
}
if(n==9)
{
for(int a=1;a<=9;a++)
for(int b=1;b<=9;b++)
for(int c=1;c<=9;c++)
for(int d=1;d<=9;d++)
for(int e=1;e<=9;e++)
for(int f=1;f<=9;f++)
for(int g=1;g<=9;g++)
for(int h=1;h<=9;h++)
for(int i=1;i<=9;i++)
if(a!=b&&a!=c&&a!=d&&a!=e&&a!=f&&a!=g&&a!=h&&a!=i&&b!=c&&b!=d&&b!=e&&b!=f&&b!=g&&b!=h&&b!=i&&c!=d&&c!=e&&c!=f&&c!=g&&c!=h&&c!=i&&d!=e&&d!=f&&d!=g&&d!=h&&d!=i&&e!=f&&e!=g&&e!=h&&e!=i&&f!=g&&f!=h&&f!=i&&g!=h&&g!=i&&h!=i)
{
printf("%5d%5d%5d%5d%5d%5d%5d%5d%5d",a,b,c,d,e,f,g,h,i);
printf("\n");
}
}
return 0;
}
by Xiang_ji @ 2018-10-27 16:43:03
直接用
```cpp
next_permutation()
```
17行
```cpp
#include<bits/stdc++.h>
using namespace std;
int main()
{
int n,a[12],j=1;
cin>>n;
for(int i=1;i<=n;i++)
a[i]=i,j*=i;
while(j--)
{
for(int i=1;i<=n;i++)
cout<<setw(5)<<a[i];
cout<<endl;
next_permutation(a+1,a+n+1);
}
return 0;
}
```
by Jerrylee @ 2018-11-05 19:22:10
@[PPheng](/space/show?uid=105999) 我认为楼主应该学习一下函数指针数组了……
by Bean233 @ 2019-02-07 15:42:59
+1
by αnonymous @ 2019-02-15 23:19:08