恶臭数字论证器 -- 简化版
恶臭数字论证器
如果不知道恶臭数字论证器是什么的,具体情况可以参考这个网站:恶臭数字论证器
现在我们要做的就是手写一个跟这个差不多的恶臭数字论证器。
原理
众所周知,一个数字 xxx 可以拆成每一个数位上的数字 x0,x2,x3,⋯,xnx0, x2, x3, \cdots, x_nx0,x2,x3,⋯,xn,具体举个例子,就是 123123123 可以拆成 1,2,31, 2, 31,2,3。并且我们可以很轻松的用 {xi}\{x_i\}{xi} 这个数列表示出 xxx 这个数,也就是:
x=∑i=0nxi10ix = \sum_{i = 0}^n x_i10^i x=i=0∑nxi10i
这里观察一下,我们发现一下性质,也就是 xi≤9x_i \leq 9xi≤9,非常的显然,所以如果我们把 1∼91 \sim 91∼9 的数字全部都用 114514114514114514 表示出来的话,那么任意数字小于 1e101e101e10 的数字就可以恶臭的论证了。
代码
#include<bits/stdc++.h>
using namespace std;
#define in read()inline int read(){int x = 0; char c = getchar();while(c < '0' or c > '9') c = getchar();while('0' <= c and c <= '9')x = x * 10 + c - '0', c = getchar();return x;
}int num = 0;
map<int, string> m;int main(){m[0] = "(1 - 1) * 4514";m[1] = "11 / (45 - 1) * 4";m[2] = "-11 + 4 - 5 + 14";m[3] = "11 * (-4) + 51 - 4";m[4] = "-11 - 4 + 5 + 14";m[5] = "11 - 4 * 5 + 14";m[6] = "1 - 14 + 5 + 14";m[7] = "11 - 4 + 5 - 1 - 4";m[8] = "11 - 4 + 5 / 1 - 4";m[9] = "11 - 4 + 5 + 1 - 4";m[10] = "-11 / 4 + 51 / 4";while(1){num = in;if(num <= 10) { cout << m[num] << '\n'; continue; }int d = num % 10; num /= 10;string ans = m[d];int k = 0;while(num){k++;d = num % 10; num /= 10;if(d == 0) continue;ans += " + ((" + m[d] + ")" + " * " + "(" + m[10] + ")" + " ^ " + "(" + m[k] + ")" + ")";}cout << ans << '\n';}return 0;
}
后记
这个玩意儿功能还不是很齐全,比如不能表示小数,不能表示比 1e101e101e10 更大的数之类的,所以才叫简化版嘛,看这玩意儿也就图一乐。
最后,114514(喜。
恶臭数字论证器 -- 简化版相关推荐
- 基于 FPGA 的数字抢答器设计
下面是基于 FPGA 的数字抢答器设计,在quartusII下,modelsim下仿真,编程语言VHDL. 1.抢答器的工作原理 主持人宣布可以抢答后,在 20s 的定时时间内若有人按键抢答,则这 ...
- mysql字段类型NUMC_全自动数字论证机(迫真)
全自动数字论证机(迫真) 众所周知,OIer都事HOMO.本小鬼在看到知乎上问题后想起来以前暑假集训无聊的时候写的一个数字论证搜索,于是来写博客 由于python我没怎么用过,所以还是用的c++写的, ...
- 大数据可视化——dataV,Echarts,蚂蚁金服L7世界地图引入,数字翻牌器,全屏,自定义排名轮播表
目录 L7相关概念 构造函数Scene PointLayer 基本用法 shape 类型 style tips 地图事件 Popup信息框 option 方法:setLnglat 方法:setDOMC ...
- 基于FPGA的八位数字抢答器
一.课程设计的内容 通过学习掌握使用可编程逻辑器件和QuartusII 软件的基本使用,利用QuartusII 软件各种器件进行多路智力竞赛抢答器设计:利用DE2板对所设计的电路进行验证:总结电路设计 ...
- 【前端3分钟】写一个数字翻牌器
在做效果的时候,想要表现一个数字数据的动态变化,例如金额增加,此时我们就可以使用数字翻牌器来表现.当然,你也可以使用其他效果来表现. 下面我们就来实现,注意一点: 数字的增加 <!DOCTYPE ...
- Vue大屏实战一:数字翻牌器的实现
文章目录 1.效果预览 2.数字翻牌器的实现 3.vue项目中引入DataV 4.大屏顶部翻牌器布局 5.大屏数字翻牌器样式 6.大屏数字翻牌器逻辑实现 1.效果预览 页面整体效果如下 顶部的数字翻牌 ...
- 封装vue版数字翻牌器
封装vue版数字翻牌器 <template> <div class="number"> <ul id="dataNums"> ...
- 大屏可视化数据面板分格渐变进度条、数字翻牌器及其刷新动效实现
数据可视化大屏是当前可视化领域的一项热门应用,通常可以分为信息展示类.数据分析类及监控预警类.这类应用的视觉设计通常效果炫酷,动效丰富,有时候一些页面布局和动画实现会对前端人员有一定的挑战性,在这里分 ...
- 基于vue3 + ts 开发的数字翻牌器组件
写了两个组件,一个是DigitalFlop.vue,一个是DigitalItem.vue DigitalFlop.vue 的代码如下: <template><div class=&q ...
最新文章
- 基于GA的TSP问题
- canvas动画特效 之 星空
- linux教程 sed命令的用法,Linux文本处理三剑客——sed命令使用教程
- 用户自助查看kubectl使用的证书状态以及如何更新
- Bitlocker and BitLocker To Go
- 先判断对象是否为NULL再进行操作
- C4D插件:阿诺德Arnold渲染器 (R20-26版本合集)
- html表单实例:用户反馈表单页面代码
- x的x分之一次方极限x趋于0_x分之e的x次方减一的极限
- 金笛邮件服务器解析中小企业对自建邮件系统的误区
- ctrlaltdel命令手册
- 椭圆曲线算法和国密SM2算法介绍
- Update|亚洲精品菜订餐平台「Chowbus」获400万美金新融资,由Greycroft和FJ labs领投...
- 喜茶奶茶技术培训哪里学?
- 一对一网络课堂教室应用教程实例
- 2021 字节前端面试题汇总
- Linux配置team
- 【NA】拉格朗日插值法
- IPD(集成产品开发)文一
- 2009年国际电力行业十大新闻