acgo题库
  • 首页
  • 题库
  • 学习
  • 天梯
  • 备赛

    竞赛

    • CSP-J/S
    • 蓝桥杯

    考级

    • GESP
    • CPA
    • 电子学会考级
  • 竞赛
  • 讨论
  • 团队
登录
注册
题目详情提交记录(0)
  • 还行

    #include<bits/stdc++.h> using namespace std; int a; void fff(int x) { for(int i=14;i>=0;i--) //两万的数据最多是2(14) { if(pow(2,i)<=x){ if(i1) cout<<"2"; //2(1)不用再往后分解了且2^1输出为2,单独出来 else if(i0) cout<<"2(0)"; //2(0)也不用再往后分解了,单独出来 else{ //若i>1则继续分解指数i cout<<"2("; fff(i); cout<<")"; } x-=pow(2,i); //继续循环分解余下的 if(x!=0) cout<<"+"; //加号处理的最简单方法:若此x还没分解完,则后面还有项,所以输出一个+号 } } } int main() { cin>>a; fff(a); return 0; }

    userId_undefined

    原神牢玩家

    21阅读
    0回复
    0点赞
  • 1

    userId_undefined

    滞尘

    出道萌新倔强青铜
    9阅读
    0回复
    1点赞
  • 递归练手

    很不错的一道递归练手题 题目大意: 每个数a都能拆成 2n2^n2n ∗*∗ …… = aaa 而我们需要把所有数(包括分解后的数)拆解成202^020与212^121组合 那么就可以通过递归 每求出一个不为202^020或212^121的数就往下递归 AC代码

    userId_undefined

    芙宁娜·德·枫丹

    荣耀黄金时间刺客空间掌握者时空双修者枚举·枚举小能手
    8阅读
    0回复
    0点赞
暂无数据

提交答案之后,这里将显示提交结果~

首页