讓我們把時(shí)間撥回到 2004 年 7 月。
101 號公路是硅谷的動(dòng)脈,因?yàn)檫@條路邊全部是大家耳熟能詳?shù)母鞣N科技巨頭,2004 年那時(shí)候的巨頭包括 Adobe,微軟,思科,甲骨文,Yahoo,eBay,太陽微電腦等等。
現(xiàn)在的巨頭谷歌,當(dāng)時(shí)雖然已經(jīng)是明星中的明星,但是還要再等一個(gè)多月,才能在納斯達(dá)克上市。而下圖的 Youtube,F(xiàn)acebook,那時(shí)候還不存在呢。
總之呢,就是這么多巨頭聚集在這條公路兩旁,同時(shí)也吸引了更多的初創(chuàng)企業(yè)聚集在這條公路兩旁。結(jié)果就是每天有海量的員工開車在這條公路上下班,然后有很大的概率,在交通高峰期被堵在路上。然后呢,就像問題描述中的那樣,2004 年 7 月,這條公路邊突然出現(xiàn)了一塊巨大的廣告牌。
內(nèi)容那是相當(dāng)?shù)暮唵未直?,這句話翻譯一下是這樣的:{e 的連續(xù)數(shù)字中最先出現(xiàn)的 10 位質(zhì)數(shù)}.com。
如果你不知道 e,或者忘記了 e 的定義,那么我們先大概回憶一下,e 的中文名字叫“自然常數(shù)”。e 是什么呢,就是一個(gè)比 1 大,但是無限接近于 1 的數(shù)(這個(gè)數(shù)只比 1 大一點(diǎn)點(diǎn),這一點(diǎn)點(diǎn)是無窮?。?,這個(gè)數(shù)的無窮大次冪,就是 e。e 寫出來大概是這樣的:
e ≈ 2.7182818284 5904523536 0287471352 6624977572 4709369995 9574966967 6277240766 3035354759 4571382178 5251664274 2746639193 2003059921 8174135966 2904357290 0334295260……
可以無限這樣寫下去,下面這個(gè)網(wǎng)站把 e 的前 2 百萬數(shù)字都列出來了,你可以感受下:
https://apod.nasa.gov/htmltest/gifcity/e.2mil
那么這個(gè)廣告牌的意思就清楚了,內(nèi)容是一個(gè)網(wǎng)址,這個(gè)網(wǎng)址是一個(gè) 10 位數(shù)字,這個(gè)數(shù)字是一個(gè)質(zhì)數(shù),而且是 e 中最先出現(xiàn)的那個(gè) 10 位質(zhì)數(shù)。
題目中問這個(gè)數(shù)學(xué)題怎么解。我覺得這個(gè)算不上是數(shù)學(xué)研究,因?yàn)闆]啥數(shù)學(xué)方面的技術(shù)含量,用程序來解決這種問題更實(shí)際。
#include <iostream>
#include <string>
bool is_prime(uint64_t n)
{
if (n == 0 or n == 1) return false;
if (n == 2 or n == 3) return true;
if (n % 6 != 1 and n % 6 != 5) return false;
for (uint64_t i = 5; i * i <= n; i += 6)
if (n % i == 0 or n % (i + 2) == 0)
return false;
return true;
}
int main()
{
std::string str_e { "718281828459045235360287471352662497757247093699959574"
"9669676277240766303535475945713821785251664274274663919320030599218174135"
"96629043572900334295260" };
for (size_t i = 0; i < str_e.length() - 10; i++) {
auto str_num = str_e.substr(i, 10);
if (is_prime(std::stoull(str_num))) {
std::cout << i << ": " << str_num << std::endl;
break;
}
}
}

所以,答案出現(xiàn)在小數(shù)點(diǎn)后第 98 位(從 0 開始),為 7427466391。