1 条题解

  • 0
    @ 2025-8-24 23:13:32

    自动搬运

    查看原文

    来自洛谷,原作者为

    avatar volatile
    等下次能改名字了,而且橙名了,我就把名字给改掉,看你们还认不认得出我

    搬运于2025-08-24 23:13:32,当前版本为作者最后更新于2025-04-15 13:43:55,作者可能在搬运后再次修改,您可在原文处查看最新版

    自动搬运只会搬运当前题目点赞数最高的题解,您可前往洛谷题解查看更多

    以下是正文


    思路

    实现一个函数计算十进制数 xx 转化为二进制数有几个 11 即可,根据十进制转二进制的方法,容易写出,且范围较小,暴力可过。

    代码

    #include<iostream>
    using namespace std;
    int f(int n)
    {
        int s=0;
        while(n){
            if(n%2) s++;
            n/=2;
        }
        return s;
    }
    int a[1145];
    int main()
    {
        int n,m;
        cin>>n;
        for(int i=1;i<=n;i++) cin>>a[i];
        cin>>m;
        for(int i=1;i<=n;i++){
            int t=a[i];
            for(int j=1;j<=m;j++) t=t*f(t);
            cout<<t<<" ";
        }
        return 0;
    }
    
    • 1

    [蓝桥杯 2025 省 Java A/研究生组] 变换数组

    信息

    ID
    12034
    时间
    3000ms
    内存
    512MiB
    难度
    2
    标签
    递交数
    0
    已通过
    0
    上传者