问题标题: 酷町堂:5133:折叠数组3

0
0
已解决
吕梓瑜
吕梓瑜
初级天翼
初级天翼

5133的思路是什么?我不懂

请根据这样的格式回答,谢谢配合~

@张展嘉 

吕梓瑜在2021-10-16 19:04:34追加了内容

@李显晨 


0
已采纳
李显晨
李显晨
中级启示者
中级启示者
全局:
int n,m;
int a[100005];
主函数:
输入n,m;
循环1~n 输入a[i];
while(m--){
    循环1~n/2 a[i]=a[n-i+1];
    n=(n+1)/2;
    if(n==1) break;
}
循环1~n cout<<a[i]<<" ";

 

0
李显晨
李显晨
中级启示者
中级启示者

不@我?

那我不发了

0
被禁言 李秉轩
李秉轩
修练者
修练者
#include<bits/stdc++.h>
using namespace std;
int main(){
    //freopen(".in","r",stdin);
    //freopen(".out","w",stdout);
    int a[105],n,m;
    cin>>n>>m;
    for(int i=1;i<=n;i++){
        cin>>a[i];
    } 
    while(m--){
        if(n%2==0){
            for(int i=n/2+1;i<=n;i++){
                a[n+1-i]=a[i];
            }
        }else{
            for(int i=n/2+2;i<=n;i++){
                a[n+1-i]=a[i];
            }
        }
        if(n==1)break;
        n=(n+1)/2;
    }
    for(int i=1;i<=n;i++){
        cout<<a[i]<<' ';
    }
    //fclose(stdin);
    //fclose(stdout);
    return 0;
}

 

我要回答