为什么我的r会变 如果我又定义一个int l=r; 则不出结果 求大佬帮忙
查看原帖
为什么我的r会变 如果我又定义一个int l=r; 则不出结果 求大佬帮忙
610804
as13249320351楼主2022/6/11 13:56
#include <iostream>
using namespace std;
int main()
{
	int a[30];
	int n,r,k=0,t=0;
	cin>>n>>r;
	int b[1000][30];
	int U=1<<n,S;
	for(int i=0;i<n;i++)
	{
		a[i]=n-i;
	}
	for(S=0;S<U;S++)
	{
		if(__builtin_popcount(S)==r)
		{
			k++;
			t=0;
			for(int i=n-1;i>=0;i--)
			{
				if(S&(1<<i))
				{
					b[k][t]=a[i];
					t++;
				}
				else;
			}
		}
	}
	for(k;k>0;k--)
	{
		for(t=0;t<r;t++)
		{
			printf("%3d",b[k][t]);
		}
		cout<<endl;
	}
	return 0; 
 } 
2022/6/11 13:56
加载中...