日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

恶臭数字论证器 -- 简化版

發(fā)布時(shí)間:2024/3/24 编程问答 45 豆豆
生活随笔 收集整理的這篇文章主要介紹了 恶臭数字论证器 -- 简化版 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

惡臭數(shù)字論證器

? 如果不知道惡臭數(shù)字論證器是什么的,具體情況可以參考這個(gè)網(wǎng)站:惡臭數(shù)字論證器

? 現(xiàn)在我們要做的就是手寫一個(gè)跟這個(gè)差不多的惡臭數(shù)字論證器。

原理

? 眾所周知,一個(gè)數(shù)字 xxx 可以拆成每一個(gè)數(shù)位上的數(shù)字 x0,x2,x3,?,xnx0, x2, x3, \cdots, x_nx0,x2,x3,?,xn?,具體舉個(gè)例子,就是 123123123 可以拆成 1,2,31, 2, 31,2,3。并且我們可以很輕松的用 {xi}\{x_i\}{xi?} 這個(gè)數(shù)列表示出 xxx 這個(gè)數(shù),也就是:

x=∑i=0nxi10ix = \sum_{i = 0}^n x_i10^i x=i=0n?xi?10i

? 這里觀察一下,我們發(fā)現(xiàn)一下性質(zhì),也就是 xi≤9x_i \leq 9xi?9,非常的顯然,所以如果我們把 1~91 \sim 919 的數(shù)字全部都用 114514114514114514 表示出來的話,那么任意數(shù)字小于 1e101e101e10 的數(shù)字就可以惡臭的論證了。

代碼

#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; }

后記

? 這個(gè)玩意兒功能還不是很齊全,比如不能表示小數(shù),不能表示比 1e101e101e10 更大的數(shù)之類的,所以才叫簡化版嘛,看這玩意兒也就圖一樂。

? 最后,114514(喜。

總結(jié)

以上是生活随笔為你收集整理的恶臭数字论证器 -- 简化版的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。