安装 Steam
登录
|
语言
繁體中文(繁体中文)
日本語(日语)
한국어(韩语)
ไทย(泰语)
български(保加利亚语)
Čeština(捷克语)
Dansk(丹麦语)
Deutsch(德语)
English(英语)
Español-España(西班牙语 - 西班牙)
Español - Latinoamérica(西班牙语 - 拉丁美洲)
Ελληνικά(希腊语)
Français(法语)
Italiano(意大利语)
Bahasa Indonesia(印度尼西亚语)
Magyar(匈牙利语)
Nederlands(荷兰语)
Norsk(挪威语)
Polski(波兰语)
Português(葡萄牙语 - 葡萄牙)
Português-Brasil(葡萄牙语 - 巴西)
Română(罗马尼亚语)
Русский(俄语)
Suomi(芬兰语)
Svenska(瑞典语)
Türkçe(土耳其语)
Tiếng Việt(越南语)
Українська(乌克兰语)
报告翻译问题









Idea: this relies on a lot of random coincidences that work out. The idea is, if the input is 10a+b (ignore 100 for now), then compute 15a+b by using `dgt 1` and `mul 5` to get `5a` and adding the original input again. Use 15a+b as the address inside a ROM.
If we reduce this mod 14, we get a+b. Thus, the data of the ROM can tell is if a+b is a multiple of 3. Unfortunately, sums in the range 0-4 could correspond to 0-4 or 14-18.
The way we can fix this is as follows: if the sum mod 14 is 0-4, then we should add 14 if and only if the original input was >= 50. If the input is < 50, then the max digit sum is 4 + 9 = 13, so there will never be overflow. If it is >= 50, then the digit sum is at least 5, so a result of 0-4 indicates overflow mod 14. Since the threshold (50) is exactly the threshold that the logic gates use to distinguish 0 and 1, we can fix the 14-18 issue using only logic gates (in particular, zero lines of code and zero extra power!).
Then I realized a + b = 10a + b - 9a , finally solved in 5/498/9.
Digital root calculation similar to @ebik's approach + lookup table
https://i.imgur.com/BdbYVmf.png