题意
n
n
n个数分别为
1
、
2
、
3....
n
1、2、3....n
1、2、3....n,现在有一种操作,第
j
j
j次操作能让除开被操作数的其他所有数都加上
j
j
j。如果要最后
n
n
n个数相等,输出需要几次操作,与每次被操作的数的下标。
题目链接
思路
要让所有的数相等,那么让相等时所有的数都等于 1 1 1到 n n n的和,对于第一个数 他已经有一个 1 1 1,那么就对除开它本身的所有数加上 1 1 1,对第二个数,它现在是 2 + 1 2+1 2+1,其他的数少了一个 2 2 2,那么就对除开它本身的所有数加上 2 2 2…以此类推,加到最后都是 1 1 1到 n n n的和
答案输出 n n n与 1 − n 1-n 1−n即可
代码
int main(){
ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);
int t;
cin>>t;
while(t--){
int n;
cin>>n;
cout<<n<<endl;
for(int i=1;i<=n;i++){
cout<<i<<" ";
}
cout<<endl;
}
return 0;
}