灵感来源:Github_homo

刷 Github 看到的项目,很有意思,就想着自己写一个。

众所周知,任意一个十进制数都可以拆分成若干个二进制数相加,所以只需要将所有的二的整数次幂用 114514 表示一遍,再将输入的数拆分成二进制数,最后输出即可。此处应该上打表

原理就是这样,下面上大家最喜欢的代码:

#include <iostream>
using namespace std;
const int N = 32;
int n, a[N];
bool isFirst = true;
string s[N] = {"", "11/(45-1)*4", "-11+4-5+14", "-11-4+5+14", "11-4+5/1-4", "11-4-5+14", "1*1+45-14", "11*4+5*1*4", "1+1+(4+5)*14", "(114-51)*4+(-11-4+5+14)", "1+1-4+514", "1*(1+4)*51*4+(-11-4+5+14)", "-11+4*514+(11*-4+51-4)", "(1+1)*451*4+(11*(45-1)+4)", "114*5*14+((1+1)*4+51*4)", "1145*14+((11-4)*51-4+(11/(45-1)*4))", "114*51*4+((1+1)*4514+(11*45-14+(11*-4+51-4)))", "114*514+(11*45*14+(-11/4+51/4))", "114514+(1145*14+(1*14+514))", "114514*(-11+4-5+14)+(114*51*4+((1+1)*4514+(11+4*51*4+(11-4*5+14))))", "114514*(-11-4+5+14)+(114*514+(1+14*514+((1+145)*-(1-4)+(11/(45-1)*4))))", "114514*(11-4+5+1-4)+(1145*14+((11+451)*4+(-1-1+4+5*14)))", "114514*(1+1+4*5*1-4)+(114*51*4+(11451+4+(1145+14+(1*-1+45-14))))", "114514*(11+4*5+1+4)+(114*514+(11451+4+(114*-5*(1-4)+(-11+45+1+4))))", "114514*(1*14*5-1+4)+(114*51*4+(114*51+4+(-11+4+5+14)))", "114514*(11+45*-(1-4))+(11*4514+(114*5*14+(1+14+514+(11-4+5+1-4))))", "114514*(11+4*5*14+(-11+4-5+14))+(114*(5-1)*4+(1-14+5+14))", "114514*(114*5+14+(-11+4-5+14))+((1+1)*451*4+(11+45/1-4))", "114514*(1145+14+(1*14-5/1+4))+(1+14*514+(114-5+14))", "114514*(114*5*1*4+(11*4+5*1*4))+(1+14514+(-1-14*(5-14)))", "114514*((1145+1)*4+(114-5-1-4))+(114*51*4+(114*51+4+(11*4*5-14)))", "114514*((1+1)*4514+(11*(45-14)+(11-4+5-1-4)))+(11*4514+(114*5*14+(-(1-14)*5*14+(11-4-5+14))))"};
void print(int x) {if (isFirst) {isFirst = false;} else {if (s[x][0] != '-') cout << '+';}cout << s[x];
}
void BinarySplit(int x) {for (int i = 30; i >= 0; i--) if ((1<<i) & x)  print(i+1);
}
int main() {ios::sync_with_stdio(false);cin.tie(0); cout.tie(0);cin >> n;BinarySplit(n);return 0;
}

该代码只支持拆分 1≤n≤21474836471\le n\le 21474836471≤n≤2147483647 的数

由于算法不同,最终输出的结果可能与原站也不同

UPT 2022/06/03: 更新了一处错误

【趣味】一个将任意数字分解成 114514 构成的公式的工具相关推荐

  1. 在PS里要怎么样才能把一个图片的数字改成另一个数字,还要看不出来?

    转自: http://zhidao.baidu.com/link?url=fGmHdcGZu76sRD3VQWxoQwQIDps5qlATz2tVPcggPMndChrXq3c9OfxloMZxHsY ...

  2. python中如何将一个数字分解成一个列表

    将数字分解成列表 问题如下 写一个函数get_digits(n),将参数n分解出每个位的数字并按顺序存放到列表中.举例:get_digits(12345) ==> [1, 2, 3, 4, 5] ...

  3. 华为机试——将一个数分解成两个质数之和

    题目描述 * 题目描述:数字分解,将一个数字分解成两个质数相加 * 输入描述:给定数字 * 输出描述:两个质数之和 * 输入示例:10 * 输出示例:10=3+7 代码实现 /************ ...

  4. 如何将数字转换成英语

    受 Project Euler Problem 17 的启发,写了(其实是改写)一个能把数字转换成英语的Ruby 过程. # zero, one, two, three, four, five, si ...

  5. 借用该函数验证哥德巴赫猜想:任意一个大的偶数都可以分解成两个素数之和。

    定义一个函数,实现判断某个整数是否是素数.借用该函数验证哥德巴赫猜想:任意一个大的偶数都可以分解成两个素数之和.从键盘输入一个偶数,输出该偶数的两个素数之和. 代码段: #include <io ...

  6. 【数字排列】小明负责公司年会,想出一个趣味游戏: 屏幕给出1~9中任意4个不重复的数字,大家以最快时间给出这几个数字可拼成的数字从小到大排列位于第N位置的数字,其中N为给出的数字中最大的

    [问题描述]小明负责公司年会,想出一个趣味游戏: 屏幕给出1-9中任意4个不重复的数字, 大家以最快时间给出这几个数字可拼成的数字从小到大排列位于第N位置的数字,其中N为给出的数字中最大的(如果不到 ...

  7. 把一个数分解成任意几个数的和,把所有的可能性列出来

    把一个数分解成任意几个数的和,把所有的可能性列出来 4=1+3 4=2+2 4=1+1+2 4=1+1+1+1 类似于有4个苹果放入n个篮子 通过创建二维数组将数字分别放进去 分别考虑 当都为一的情况 ...

  8. excel将大表分解成小表,将小表合成一个大表

    1.将一个十几几万行的表分解成小表 请用微软的excel  不要用wps 用excel打开改文件,按alt+f11,选择你要分解的主表 界面如图: 输入下面的代码 Sub cfb() Dim r, c ...

  9. 扑克牌中的顺子。从扑克牌中随机抽5张牌,判断是不是一个顺子,即这5张牌是不是连续的。2~10为数字本身,A为1,J为11,Q为12,K为13,而大、小王可以看成任意数字。

    面试题36:扑克牌中的顺子 1.题目描述 题目:从扑克牌中随机抽5张牌,判断是不是一个顺子,即这5张牌是不是连续的.2~10为数字本身,A为1,J为11,Q为12,K为13,而大.小王可以看成任意数字 ...

最新文章

  1. Chrome禁用浏览器跨域拦截
  2. python中io.textio_Python文件读写概述(IO操作、文件读写、stringiobytesio、序列化),python,的,小,总结,StringIOBytesIO...
  3. 秒杀系统必须考虑的 3 个技术问题!
  4. 阿里云播放器直播rtsp、rtmp、flv流,flash播放直播流
  5. SpringMVC工作原理及其流程
  6. overload方法重载
  7. 基于java的enigma的加密程序
  8. mac 全局安装 Cz 工具【踩坑】
  9. React 事件处理
  10. Second season sixth episode,Chandler and Joey lost Ross‘s baby???!!!
  11. IT历史上被引述最多的10句名人名言
  12. 企业“招投标”一般需要办理哪些体系认证?
  13. 消逝的Coin:Stratum协议劫持技术
  14. MyBatis基本工作原理
  15. ant design vue全局引用一直提示没有isMoment参数的问题
  16. 树莓派linux系统配置AODV协议,linux上模拟AODV路由协议 下面一些信息求各路大神解释!!...
  17. 1.3 小白黑群晖系统安装:基于arpl、引导镜像 两种方式教程(含洗白)
  18. 人机融合很难,恰当的人机分离更难
  19. 【HDFS】文件入Trash-rename操作
  20. 2014,说说这个燥热的暑假

热门文章

  1. DOTA2匹配机制详解
  2. 腾云忆想构建云化IT生态,助力我国“双循环经济”数字化升级
  3. 计算机一级wps选择题必背知识点,计算机一级WPS提高练习题及答案
  4. 小程序 身份认证服务器,如何实现微信小程序与.net core应用服务端的无状态身份验证...
  5. 【自然语言处理与文本分析】用两个项目案例介绍文本挖掘方法论。
  6. 机器学习之---文本分析(jieba分词和词云绘制)
  7. 谷歌学术+SCI-HUB一键下载SCI文献
  8. 在Unity中实现体素化
  9. 智慧档案室改造建设方案 - 一站式建设智慧档案馆建设方案
  10. 点心云pcdn跑不起来解决办法(不起量)