A46124
2025-10-29 18:31:24
发布于:福建
1阅读
0回复
0点赞
本题比较简单,首先用一个for,
然后里面我们可以用判断语句(if-else)来决定数列第n项为多少
可以创建一个函数来进行判断里面是否有重复,如果有重复,则返回false,否则返回true。
注意:本题有说明了需要排序,所以要用排序算法排好,不然还是会错!(之前我就是因为它才错的!)
代码如下:
#include<bits/stdc++.h>
using namespace std;
int n,a[3005];
bool check(int sz){
for(int i=1;i<=n;i++){
if(sz==a[i]){
return false;
}
}
return true;
}
int main(){
cin>>n;
a[1]=1;
for(int k=2;k<=n;k++){
if(a[k-1]-k>0&&check(a[k-1]-k)){
a[k]=a[k-1]-k;
}else{
a[k]=a[k-1]+k;
}
}
sort(a+1,a+n+1);
for(int i=1;i<=n;i++){
cout<<a[i]<<" ";
}
return 0;
}
创作不易,给作者一个赞呗。!
这里空空如也





有帮助,赞一个