㈠ 編寫一個函數void str(char *s,char *d)
void str(char *s,char *d)
{
if(!d)
return;
if(!s)
return;
while((*s++ = *d++)!=' ');
}
(1)伯努利信封c語言擴展閱讀尺悔橋陵猛
C語言的運算符主要用於構成表達式,同一個符號在不同的表達式中,其前神作用並不一致。下面按計算的優先順序,分別說明不同作用的表達式。需要特別指出,在C語言標准中,並沒有結合性的說法。
相同優先順序運算符,從左至右依次運算。注意後綴運算優先順序高於前綴。因此++i++應解釋為++(i++)。
而與或非的運算優先順序都不一樣,因此a && b || b && c解釋為(a && b) || (b && c)
合理使用優先順序可以極大簡化表達式。
㈡ 伯努利裝錯信封問題
這是一道普通高中數學題,答案應為:n!(1-1/2!+1/3!-1/4!+1/5!...+(-1)的n-1方/!),大部分初等數論書都有記載。樓上的答塌嘩案是錯誤的,因為他考慮的問題相當於重復排列問題,另外《100個著名初等數學衡衫乎問題》中應該就有解答,我這里有這本書的電子檔,咐悉還有該書本身。
㈢ n封信裝在n個對應的信封里,每封信都裝錯的概率有多大
伯努利洞仔知漏-歐拉裝錯信納猛汪封問題
公式
f(n)=n![∑((-1)^n)/n!] (n>2)
㈣ c語言問題 伯努利裝錯信封問題
全排列的篩選
#include<stdio.h>
#include<stdlib.h>
intprinted;
voiddraw(int*a,intk)
{
inti;
for(i=0;i<k;i++)
{
printf("%d",a[i]);
}
printf(" ");
}
voidSettle(int*a,intiStep,intk)
{
inti;
for(i=0;i<iStep-1;i++)
if(a[iStep-1]==a[i])return;
if(iStep==k)
{
draw(a,k);
printed++;
並碰輪}
for(i=1;i<=k;i++)
{
if(i==iStep+1)continue;
絕信a[iStep]=i;
Settle(a,iStep+1,k);
}
}
voidmain()
{
int*a;
吵廳intk;
scanf("%d",&k);
a=(int*)calloc(k,sizeof(int));
Settle(a,0,k);
printf("s=%d ",printed);
}
㈤ 宿舍里的4名同學為慶祝元旦,每人准備了一份禮物進行交換,規定自己不拿自己的禮物,則有多少種拿法
概念:全錯位排列,n個物質,重新排列順序,使其均不在原位。
歷史: 被著名數學家歐拉(Leonhard Euler,1707-1783)稱為「組合數論的一個妙題」的「裝錯信封問題」的敬缺兩個特例.
「裝錯信封問題」是由當時最有名的數學家約翰·伯努利(Johann Bernoulli,1667-1748)的兒子丹尼爾·伯努利(DanidBernoulli,1700-1782)提出來的,大意如下:
個人寫了n封不同的信及相應的n個不同的信封,他把這n封信都裝錯了信封,問都裝錯信封的裝法有多少種?
公式:
遞推公式:設n個物質排列方法為s(n)
當n=1 時,s(n)=0
當n=2 時,s(n)=1
否則 s(n)=(n-1)*(s(n-1)+s(n-2))
階乘公式:n!-C(1 n)*(n-1)!+C(2 n)!-…+(-1)^kC(k n)*(n-k)!+…+(-1)^n*C(n n)*0!
上式等價於n!(1-1/1!+1/2!-1/3!+...+(-1)^n*1/n!)
________________________
對本題:
S(1)=0,S(芹稿漏2)=1
S(3)=2(0+1)=2
S(4)=3(2+1)=9
本題數量不多也可直接枚舉:設四位同學順序是(甲乙丙嫌爛丁),
(乙,甲,丁,丙)(乙,丙,丁,甲)(乙,丁,甲,丙)
(丙,甲,丁,乙)(丙,丁,甲,乙)(丙,丁,乙,甲)
(丁,甲,乙,丙)(丁,丙,甲,乙)(丁,丙,乙,甲)
以上共9種。
㈥ 錯位排列 有N封信和N個信封,每封信都不裝在自己信封里的排列種數記作Dn,則 D1=0,D2=1,D3=2,D4=9,D5=44...
比如有n封信,從第一個算起,第一封信可以放在2---n封信中,可能排列有n-1;空神如果它放在第x封信中,那麼第x封信就有可能的排列n-2種孫虧拆;如果它放在第y封信中,那麼第y封則棗信就有可能的排列n-3種...
類推下去,所有信都放好,最後排列有(n-1)(n-2)(n-3)****[n-(n-1)],就是(n-1)!,即它的階乘。
㈦ 世界上第一個計算機程序是怎樣開發出來的
世界上第一個程序是1842年寫的,恰好在第一個能被稱為計算機的真正機器。這段代碼的作者是AdaAugusta,被封為Lovelace女伯爵,就是大家所知道的AdaLovelace。作為世界上第一個計算機程序的作者,她被廣泛地認為是有史以來第一位程序員。
當把Ada稱為一位程序員的時候,很容易忘記世界上第一段代碼產生的年代就是塞繆爾·莫爾斯首次展示電話、阿姆斯達號上的黑奴在反抗和美國正處於三十年代、奧斯曼帝國和波斯帝國時期、穆斯林國家的奴隸正和埃及爭奪中東地區的年代。計算機這個詞在那時候仍然表示一個人做了100多年的計算工作的意思。那都是很久以前的事情了。
世界上第一段代碼是為查爾斯·巴貝奇的分析機寫的,這個機器從來沒有真正建成過,雖然有這個可能。AdaLovelace看到了巴貝奇機器的潛力,產生了可編程的計算機的念頭。她為泰勒的科學回憶錄翻譯了一位義大利數學家LuigiMenabrea的名為「分析機的概念圖」的論文,並通過「翻譯者的附註(她自己注釋的)」把這篇論文弄懂了,那個注釋里主要寫了查爾斯·巴貝奇分析機都能幹些什麼。在附註G的開篇,就提到了世界上第一個計算機程序,舉例說明了Lovelace意識到巴貝奇的設計是多麼的意義深遠,但還保持著她做科學的平靜。
「防止誇大源於分析機的能量的想法是有必要的。」
Lovelace在她根本沒有辦法誇大一個包含現代計算機的主要部分的設計的本質。巴貝奇拒絕公布這台分析機的很多內容,使得Lovelace的注釋對未來的發展起到了重要影響,最顯著的影響便是促使阿蘭·圖靈產生通用程序存儲計算機的想法。這一點Ada並沒有看到,她36歲去世,前面提到的注釋成了她唯一的出版物。如果她再能多活幾年多工作幾年,計算機會不會又是另一個樣子呢?
讓大家回到這個問題上來:如果巴貝奇有足夠的資源建好分析機並能讓Lovelace在上面跑程序的話,世界上第一個計算機程序是幹嘛用的呢?這個程序讓巴貝奇分析機計算了伯努利數字序列。接著她描述了怎麼把大量的巴貝奇分析機的穿孔卡片作為輸入實現這個程序。在她的實現方法中Lovelace設定了伯努利數序列的第一個數字(B0=1,B1=-),然後開始從B2(第一個非正規伯努利數)開始計算整個序列,她把這里的B2標記為B1。
現代重寫的Javascript版本的Ada的大量穿孔卡片上的堆棧看起來可能是這個樣子。這個重寫的版本不是Ada的代碼在巴貝奇分析機上的模擬,只是Ada曾經使用過的演算法的另一種實現。
順便提一下,到目前為止從沒有人能從Ada的伯努利數計算代碼里發現任何bug。盡管她發明了編程,但她顯然並沒有發明bug。
註:AdaLovelaceDay是一個國際性的慶祝婦女在科學,科技,工程和數學領域取得成就的節日。
最早的程序直接寫的是二進制機器代碼,沒有編譯器
將編好的代碼通過讀卡機讀如機器,直接執行。
然後出現的是嘩者匯編語言,通過二進制的機器代碼來實現匯編的編譯連接工作,
然後在用匯編語言完善優化匯編語言;
接著才是高級語言,使用匯編語言編譯
逐漸實現高級語言編譯高級語言
19世紀之前
一、機械計算機時代的拓荒者
在灶埋西歐,由中世紀進入文藝復興時期的社會大變革,大大促進了自然科學技術的發展,人們長期被神權壓抑的創造力得到空前釋放。其中製造一台能幫助人進行計算的機器,就是最耀眼的思想火花之一。從那時起,一個又一個科學家為把這一思想火花變成引導人類進入自由王亂辯薯國的火炬而不懈努力。但限於當時的科技總體水平,大都失敗了,這就是拓荒者的共同命運:往往見不到豐碩的果實。後人在享用這甜美的時候,應該能從中品出一些汗水與淚水的滋味
1614:蘇格蘭人JohnNapier(1550-1617)發表了一篇論文,其中提到他發明了一種可以計算四則運算和方根運算的精巧裝置。
1623:WilhelmSchickard(1592-1635)製作了一個能進行六位以內數加減法,並能通過鈴聲輸出答案的'計算鍾'。通過轉動齒輪來進行操作。
1625:WilliamOughtred(1575-1660)發明計算尺
1642:法國數學家Pascal在WILLIAMOughtred計算尺的基礎上將計算尺加以改進,能進行八位計算。並且還賣出了許多,成為一種時髦的商品。
1668:英國人SamuelMorl和(1625-1695)製作了一個非十進制的加法裝置,適宜計算錢幣。
1671:德國數學家GottfriedLeibniz設計了一架可以進行乘法,最終答案可以最大達到16位。
1775:英國Charles製作成功了一台與Leibniz's的計算機類似的機器。但更先進一些。
1776:德國人MathieusHahn成功的製作了一台乘法器。
1801:Joseph-MaireJacuard開發了一台能用穿孔卡片控制的自動織布機。
1820:法國人CharlesXavierThomasdeColmar(1785-1870),製作成功第一台成品計算機,非常的可靠,可以放在桌面上,在後來的90多年間一直在市場上出售。
1822:英國人CharlesBabbage(1792-1871)設計了差分機和分析機,其中設計的理論非常的超前,類似於百年後的電子計算機,特別是利用卡片輸入程序和數據的設計被後人所採用。
1832:Babbage和JosephClement製成了一個差分機的成品,開始可以進行6位數的運算。後來發展到20位、30位,尺寸將近一個房子那麼大。結果以穿孔的形式輸出。但限於當時的製造技術,他們的設計難以製成。
1834:斯德哥爾摩的GeorgeScheutz用木頭做了一台差分機。
1834:Babbage設想製造一台通用的分析機,在只讀存儲器(穿孔卡片)中存儲程序和數據,Babbage在以後的時間繼續他的研究工作,並於1840年將操作數提高到了40位,並基本實現了控制中心(CPU)和存儲程序的設想,而且程序可以根據條件進行跳轉,能在幾秒內作出一般的加法,幾分鍾內作出乘除法。
1842:Babbage的差分機項目因為研製費用昂貴,被政府取消。但他自己仍花費大量的時間和精力於他的分析機研究。
1843:Scheutz和他的兒子EdvardScheutz製造了一台差分機,瑞典政府同意繼續支持他們的研究工作。
1847:Babbage花兩年時間設計了一台較簡易的、31位的差分機,但沒有人感興趣並支持他造出這台機器。但後來倫敦科學博物館用現代技術復制出這台機器後發現,它確實能准確的工作。
1848:英國數學家GeorgeBoole創立二進制代數學。提前差不多一個世紀為現代二進制計算機鋪平了道路。
1853:令Babbage感到高興的是,Scheutzes製造成功了真正意義上的比例差分機,能進行15位數的運算。象Babbage所設想的那樣輸出結果。後來倫敦的BrianDonkin又造出了更可靠的第二台。
1858:第一台製表機被Albany的Dudley天文台買走。第二台被英國政府買走。但天文台並沒有將其充分利用,後來被送進了博物館。而第二台卻被幸運的使用了很長時間。
1871:Babbage製造了分析機的部分部件和印表機。
1878:紐約的西班牙人RamonVerea,製造成功桌面計算器。比前面提到的都要快。但他對將其推向市場不感興趣,只是想表明,西班牙人可以比美國人做的更好。
1879:一個調查委員會開始研究分析機是否可行,最後他們的結論是:分析機根本不可能工作。此時Babbage已經去世了。調查之後,人們將他的分析機徹底遺忘了。但HowardAiken例外。
1885:這時期更多的計算機涌現出來。如美國、俄國、瑞典等。他們開始用有槽的圓柱代替易出故障的齒輪。
1886:芝加哥的DorrE.Felt(1862-1930),製造了第一台用按鍵操作的計算器,而且速度非常快,按鍵抬起,結果也就出來了。
1889:Felt推出桌面印表計算器。
1890:1890美國人口普查。1880年的普查人工用了7年的時間進行統計。這意味著1890年的統計將會超過10年。美國人口普查部門希望能得到一台機器幫助提高普查的效率。HermanHollerith,建立製表機公司的那個人,後來他的公司發展成了IBM公司。借鑒了Babbage的發明,用穿孔卡片存儲數據,並設計了機器。結果僅僅用了6個周就得出了准確的數據(62622250人)。HermanHollerith大發其財。
1892:聖多美和普林西比的WilliamS.Burroughs(1857-1898),製作成功了一台比Felt的功能更強的機器,真正開創了辦公自動化工業。
1896:HermanHollerith創辦了IBM公司的前身。1900~1910
1906:HenryBabbage,CharlesBabbage的兒子,在R.W.Munro的支持下,完成了父親設計的分析機,但也僅能證明它能工作,而沒有將其作為產品推出。
二、電子計算機最初的日子裡
在這之前的計算機,都是基於機械運行方式,盡管有個別產品開始引入一些電學內容,卻都是從屬與機械的,還沒有進入計算機的靈活:邏輯運算領域。而在這之後,隨著電子技術的飛速發展,計算機就開始了由機械向電子時代的過渡,電子越來越成為計算機的主體,機械越來越成為從屬,二者的地位發生了變化,計算機也開始了質的轉變。下面就是這一過渡時期的主要事件:
1906:美國的LeeDeForest發明了電子管。在這之前造出數字電子計算機是不可能的。這為電子計算機的發展奠定了基礎。
1920~1930
1924年2月:IBM,一個具有劃時代意義的公司成立
1930~1940
1935:IBM推出IBM601機。這是一台能在一秒鍾算出乘法的穿孔卡片計算機。這台機器無論在自然科學還是在商業意義上都具有重要的地位。大約造了1500台。
1937:英國劍橋大學的AlanM.Turing(1912-1954)出版了他的論文,並提出了被後人稱之為'圖靈機'的數學模型。
1937:BELL試驗室的GeorgeStibitz展示了用繼電器表示二進制的裝置。盡管僅僅是個展示品,但卻是第一台二進制電子計算機。
1938:ClaudeE.Shannon發表了用繼電器進行邏輯表示的論文。
1938:柏林的KonradZuse和他的助手們完成了一個機械可編程二進制形式的計算機,其理論基礎是Boolean代數。後來命名為Z1。它的功能比較強大,用類似電影膠片的東西作為存儲介質。可以運算七位指數和16位小數。可以用一個鍵盤輸入數字,用燈泡顯示結果。
19391月1日:加利福尼亞的DavidHewlet和WilliamPackard在他們的車庫里造出了Hewlett-Packard計算機。名字是兩人用投硬幣的方式決定的。包括兩人名字的一部分。
1939年11月:美國JohnV.Atanasoff和他的學生CliffordBerry完成了一台16位的加法器,這是第一台真空管計算機。
1939:二次世界大戰的開始,軍事需要大大促進了計算機技術的發展。
1939:Zuse和Schreyer開始在他們的Z1計算機的基礎上發展Z2計算機。並用繼電器改進它的存儲和計算單元。但這個項目因為Zuse服兵役被中斷了一年。
1939/1940:Schreyer利用真空管完成了一個10位的加法器,並使用了氖燈做存儲裝置。
1940~1950
1940年1月:Bell實驗室的SamuelWilliams和Stibitz製造成功了一個能進行復雜運算的計算機。大量使用了繼電器,並借鑒了一些電話技術,採用了先進的編碼技術。
1941夏季:Atanasoff和學生Berry完成了能解線性代數方程的計算機,取名叫'ABC'(Atanasoff-BerryComputer),用電容作存儲器,用穿孔卡片作輔助存儲器,那些孔實際上是'燒'上的。時鍾頻率是60HZ,完成一次加法運算用時一秒。
1941年12月:德國Zuse製作完成了Z3計算機的研製。這是第一台可編程的電子計算機。可處理7位指數、14位小數。使用了大量的真空管。每秒種能作3到4次加法運算。一次乘法需要3到5秒。
1943:1943年到1959年時期的計算機通常被稱作第一代計算機。使用真空管,所有的程序都是用機器碼編寫,使用穿孔卡片。典型的機器就是:UNIVAC。
1943年1月:MarkI,自動順序控制計算機在美國研製成功。整個機器有51英尺長,重5噸,75萬個零部件,使用了3304個繼電器,60個開關作為機械只讀存儲器。程序存儲在紙帶上,數據可以來自紙帶或卡片閱讀器。被用來為美國海軍計算彈道火力表。
1943年4月:MaxNewman、Wynn-Williams和他們的研究小組研製成功'HeathRobinson',這是一台密碼破譯機,嚴格說不是一台計算機。但是其使用了一些邏輯部件和真空管,其光學裝置每秒鍾能讀入2000個字元。同樣具有劃時代的意義。
1943年9月:Williams和Stibitz完成了'RelayInterpolator',後來命名為'ModelIIRelayCalculator'。這是一台可編程計算機。同樣使用紙帶輸入程序和數據。其運行更可靠,每個數用7個繼電器表示,可進行浮點運算。
1943年12月:最早的可編程計算機在英國推出,包括2400個真空管,目的是為了破譯德國的密碼,每秒能翻譯大約5000個字元,但使用完後不久就遭到了毀壞。據說是因為在翻譯俄語的時候出現了錯誤。
1946:ENIAC(ElectronicNumericalIntegrator和Computer):第一台真正意義上的數字電子計算機。開始研製於1943年,完成於1946年。負責人是JohnW.Mauchly和J.PresperEckert。重30噸,18000個電子管,功率25千瓦。主要用於計算彈道和氫彈的研製。
三、晶體管計算機的發展
真空管時代的計算機盡管已經步入了現代計算機的范疇,但其體積之大、能耗之高、故障之多、價格之貴大大制約了它的普及應用。直到晶體管被發明出來,電子計算機才找到了騰飛的起點,一發而不可收
1947:Bell實驗室的WilliamB.Shockley、JohnBardeen和WalterH.Brattain.發明了晶體管,開辟了電子時代新紀元。
1949:EDSAC:劍橋大學的Wilkes和他的小組建成了一台存儲程序的計算機。輸入輸出設備仍是紙帶。
1949:EDVAC():第一台使用磁帶的計算機。這是一個突破,可以多次在其上存儲程序。這台機器是JohnvonNeumann提議建造的。
1949:'未來的計算機不會超過1.5噸。'這是當時科學雜志的大膽預測。
1950~1960
1950:軟磁碟由東京帝國大學的YoshiroNakamats發明。其銷售權由IBM公司獲得。開創存儲時代新紀元。
1950:英國數學家和計算機先驅AlanTuring說:計算機將會具有人的智慧,如果一個人和一台機器對話,對於提出和回答的問題,這個人不能區別到底對話的是機器還是人,那麼這台機器就具有了人的智能。
1951:GraceMurrayHopper完成了高級語言編譯器。
1951:Whirlwind:美國空軍的第一個計算機控制實時防禦系統研製完成。
1951:UNIVAC-1:第一台商用計算機系統。設計者:J.PresperEckert和JohnMauchly。被美國人口普查部門用於人口普查,標志著計算機的應用進入了一個新的、商業應用的時代。
1952:EDVAC():由VonNeumann領導設計並完成。取名:電子離散變數計算機。
1953:此時世界上大約有100台計算機在運轉。
1953:磁芯存儲器被開發出來。
1954:IBM的JohnBackus和他的研究小組開始開發FORTRAN(FORmulaTRANslation),1957年完成。是一種適合科學研究使用的計算機高級語言。
1956:第一次有關人工智慧的會議在Dartmouth學院召開。
1957:IBM開發成功第一台點陣列印機。
1957:FORTRAN高級語言開發成功。
四、集成電路,現代計算機插上騰飛的翅膀
盡管晶體管的採用大大縮小了計算機的體積、降低了其價格,減少了故障。但離人們的要求仍差很遠,而且各行業對計算機也產生了較大的需求,生產更能更強、更輕便、更便宜的機器成了當務之急,而集成電路的發明正如"及時雨",當春乃發生。其高度的集成性,不僅僅使體積得以減小,更使速度加快,故障減少。人們開始製造革命性的微處理器。計算機技術經過多年的積累,終於駛上了用硅鋪就的高速公路。
1958年9月12日:在RobertNoyce(INTEL公司的創始人)的領導下,發明了集成電路。不久又推出了微處理器。但因為在發明微處理器時借鑒了日本公司的技術,所以日本對其專利不承認,因為日本沒有得到應有的利益。過了30年,日本才承認,這樣日本公司可以從中得到一部分利潤了。但到2001年,這個專利也就失效了。
1959:1959年到1964年間設計的計算機一般被稱為第二代計算機。大量採用了晶體管和印刷電路。計算機體積不斷縮小,功能不斷增強,可以運行FORTRAN和COBOL,接收英文字元命令。出現大量應用軟體。
1959:GraceMurrayHopper開始開發COBOL(COmmonBusiness-OrientatedLanguage)語言,完成於1961年。
1960~1970
1960:ALGOL:第一個結構化程序設計語言推出。
1961:IBM的KennthIverson推出APL編程語言。
1963:PDP-8:DEC公司推出第一台小型計算機。
1964:1964年到1972年的計算機一般被稱為第三代計算機。大量使用集成電路,典型的機型是IBM360系列。
1964:IBM發布PL/1編程語言。
1964:發布IBM360首套系列兼容機。
1964:DEC發布PDB-8小型計算機。
1965:摩爾定律發表,處理器的性能每年提高一倍。後來其內容又發生了改變。
1965:LoftiZadeh創立模糊邏輯,用來處理近似值問題。
1965:ThomasE.Kurtz和JohnKemeny完成BASIC()語言的開發。特別適合計算機教育和初學者使用,得到了廣泛的推廣。
1965:DouglasEnglebart提出滑鼠器的設想,但沒有進一步的研究。直到1983年被蘋果電腦公司大量採用。
1965:第一台超級計算機CD6600開發成功。
1967:NiklausWirth開始開發PASCAL語言,1971年完成。
1968:RobertNoyce和他的幾個朋友創辦了INTEL公司。
1968:SeymourPaper和他的研究小組在MIT開發了LOGO語言。
1969:ARPANET計劃開始啟動,這是現代INTERNET的雛形。
1969年4月7日:第一個網路協議標准RFC推出。
1969:EIA(ElectronicInstriesAssocia
1970~1980
1970:第一塊RAM晶元由INTEL推出,容量1K。
1970:KenThomson和DennisRitchie開始開發UNIX操作系統。
1970:Forth編程語言開發完成。
1970:Internet的雛形ARPAnet()基本完成。開始向非軍用部門開放,許多大學和商業部門開始接入。
1971年11月15日:MarcianE.Hoff在INTEL公司開發成功第一塊微處理器4004,含2300個晶體管,是個4位系統,時鍾頻率108KHz,每秒執行6萬條指令。
在後來的日子裡,處理器發展主要指標一覽:
處理器主頻每秒百萬條指令
4004108KHz0.06
80802MHz0.5
680008MHz0.7
80868MHz0.8
6800016MHz1.3
6802016MHz2.6
8028612MHz2.7
6803016MHz3.9
386SX20MHz6
6803025MHz6.3
6803040MHz10
386DX33MHz10
486DX25MHz20
486DX2-5050MHz35
486DX4/100100MHz60
Pentium66MHz100
Pentium133MHz240
Pentium233MHzMMX435
PentiumPro200MHz440
PentiumII233MHz560
PentiumII333MHz770
1971:PASCAL語言開發完成。
1972:1972年以後的計算機習慣上被稱為第四代計算機。基於大規模集成電路,及後來的超大規模集成電路。計算機功能更強,體積更小。人們開始懷疑計算機能否繼續縮小,特別是發熱量問題能否解決?人們開始探討第五代計算機的開發。
1972:C語言的開發完成。其主要設計者是UNIX系統的開發者之一DennisRitche。這是一個非常強大的語言,開發系統軟體,特別受人喜愛。
1972:Hewlett-Packard發明了第一個手持計算器。
1972年4月1日:INTEL推出8008微處理器。
1972:ARPANET開始走向世界,INTERNET革命拉開序幕。
1973:街機游戲Pong發布,得到廣泛的歡迎。發明者NolanBushnell,後來Atari的創立者。
1974:第一個具有並行計算機體系結構的CLIP-4推出。
五、計算機技術漸入輝煌
在這之前,計算機技術主要集中在大型機和小型機領域發展,但隨著超大規模集
㈧ 約翰伯努利提出的兩道挑戰題目具體是什麼
最速降線的挑戰:
伯努利兄弟在他們時代的數學中留下了深刻的印記,其中包括調和級數和許多其他貢獻。但是,關於這對相互競爭,難以相處的兄弟,還必須要告訴讀者另一個故事,它肯定是在整個數學史中最引人入勝的一則故事。
故事開始於1696年6月,其時,約翰·伯努利在悔森萊布尼茲的雜志《教師學報》上刊登了一個挑戰問題。顯然,公開挑戰的傳統是從菲奧爾和塔爾塔利亞時代開始的。雖然現在的論爭是在學術雜志上安靜地進行筆戰,但卻依然有力量成就或摧毀一個人的聲望,正如約翰自己所述:
「……肯定地說,正是擺在我們面前的那些困難同時也是有用的問題,激發著出類拔萃之輩為豐富人類的知識而奮斗,他們也因此一舉成名,流芳百世。」
約翰提出的挑戰很精彩。他設想在地面上不同高度的兩個點A和B,並且,不要讓其中一個點直接位於另一點的上方。連接這兩個點,當然可以作出無限多的不同曲線,從直線、圓的弧線到無數種其他曲線和波浪線。現在設想有一個球沿著一條曲線從A點滾向較低的B點。當然,球滾完全程所需要的時間取決於曲汪前判線的形狀。伯努利向數學界提出的挑戰是,找出一條曲線AMB,使球沿這條曲線滾完全程所用的時間最短他稱這條曲線為「最速降線」,這個詞是從希臘文的「最短」和「時間」兩個詞合成而來的。
顯然,第一個猜想是連接A、B兩點作直線AMB。但是,約翰對試圖採用這一過於簡單化的方法提出了警告:
「……不要草率地作出判斷,雖然直線AB的確是連接A、B兩點的最短線路,但它卻不是所用時間最短的路線。而曲線AMB則是幾何學家所熟知的一條曲線。如果在年底之前還沒有其他人能夠發現這一曲線,我將公布這條曲線的名稱。」
約翰定於1697年1月1日向數學界公布答案。但是,到最後期限截止時,他只收到了「著名的萊布尼茲」寄來的一份答案,並且,萊布尼茲
「謙恭地請求我延長最後期限到復活節,以便在公布答案時……沒有人會抱怨說給的時間太短了。我不僅同意了他的請求,而且還決定親自宣布延長期限,看看有誰能夠在這么長時間之後最終解出這道絕妙的難題。」
然後,為確保不會使人誤解這道難題,約翰又重復了一遍:
「在連接已知兩點的無限多的曲線中……選擇一條曲線,如果用一根細管或細槽代替這條曲線,把一個小球放入細管或細槽中,放手讓它滾動,那麼,小球將以最短的時間從一點滾向另一點。」
此時,約翰開始熱心鼓吹獎勵解出他的最速降線問題的人。不要忘記,他自己是知道答案的,如此一來,他關於數學榮譽的一段話就不免有自詡之嫌:
「但願有人能夠迅速摘取桂冠。當然,獎品既非金,也非銀,因為這些東西只能引起卑賤者的興趣……相反,由於美德本身就是最好的獎勵,而名望又是最強的刺激,所以,我們為高貴的得勝者所頒發的獎勵是榮譽、贊頌和認可……」
在這段話中,似乎約翰認為自己面對他可憐的哥哥雅各布,又一次贏得了勝利。但是,在他心裡還有另外一個目標。約翰寫道:
「……很少有人能夠解出我們獨特的問題,即使那些自稱通過特殊方法……不僅深入探究了幾何學的秘密、而且還以一種非凡的方式拓展了幾何學的疆域的人。這些人自以為他們的偉大定理無人知曉,其實早已有人將它們發表過了。」
還有誰能懷疑他所說的「定理」就是指的流數法,他所蔑視的目標就是艾薩克·牛頓呢?牛頓曾宣稱早在萊布尼茲1684年發表微積分論文之前就已發現了這一理論。無疑,約翰的挑戰目標非常明確,他把他的最速降線問題抄了一份,裝進信封,寄往英國。
當然,1697年,牛頓正在忙於造幣局的事務,而且,正如他自己所承認的那樣,他的頭腦已不似全盛期時那樣機敏了。當時,牛頓與他的外甥女凱瑟琳·康迪特一起住在倫敦。凱瑟琳記述了這樣的故事:
「1697年的一天,收到伯努利寄來的問題時,艾薩克·牛頓爵士正在造幣局裡忙著改鑄新困改幣的工作,直到四點鍾才精疲力盡地回到家裡,但是,直到解出這道難題,他才上床休息,這時,正是凌晨四點鍾。」
即使是在晚年,並且,是在經過一天緊張的工作而感到精疲力竭的情況下,艾薩克·牛頓仍然成功地解出了眾多歐洲人都未能解出的難題!由此可見這位英國偉大天才的實力。他清楚感覺到他的名望與榮譽都受到了挑戰;而且,伯努利和萊布尼茲畢竟都還在急切地等待著公布他們自己的答案。因此,牛頓當仁不讓,僅僅用幾個小時就解出了這道難題。然而,牛頓有些被激怒了,據說他曾言道:「在數學問題上,我不喜歡……給外國人……戲弄。」
我們再回到歐洲。復活節將近的時候,幾份答案寄到了約翰·伯努利的手裡。他們每個人所尋求的曲線都是一條顛倒了的旋輪線,而這的確「是幾何學家所熟知的一條曲線」。我們注意到,帕斯卡和惠更斯就曾研究過這一重要曲線,但他們誰也沒有認識到旋輪線還是一條最快的下降曲線。約翰以一種誇張的口吻寫道:「……如果我明確說出惠更斯的……這一旋輪線就是我們所尋求的最速降線,你們一定會驚呆了。」
到復活節時,挑戰期限截止。約翰一共收到了五份答案。其中包括他自己的答案和萊布尼茲的答案。他的哥哥雅各布寄來了第三份答案(這也許會使約翰感到沮喪),而洛皮塔侯爵則寄來了第四份答案。最後寄來的答案,信封上蓋著英國的郵戳。約翰打開後,發現答案雖然是匿名的,但卻完全正確。他顯然遇到了他的對手艾薩克·牛頓。答案雖然沒有署名,但卻明顯地出於一位絕頂天才之手。
據說(或許不盡可靠,但卻非常有趣),約翰半是羞惱,半是敬畏地放下這份匿名答案,會意地說:「我從他的利爪認出了這頭獅子。」
㈨ 這個符號表示什麼
數學符號*什麼意思
數學符號*是乘號的意思。*還表示除0之外的數,例:N*表示正整數。
乘號是一種特殊符號,在打字時有很多人用「*」號代替。其實乘號是可以輸入的。
英國數學家威廉·奧特雷德於1631年在其著作《數裂輪學之鑰》(Clavis Mathematicae) 中首次以「×」表示兩數相乘,即現肆彎信代的乘號,後日漸流行 。
萊布尼茨於1698年7月29日給約翰·伯努利的一封信內提出以圓點「·」表示乘,以防「×」號與字母「X」混淆。
(9)伯努利信封c語言擴展閱讀:
*的鬧閉其他作用:
1、它通常用來做注釋符號。
2、用來表示密碼,以體現出已輸入的字元數量,同時可以避免輸入的密碼被人看到。
3、可用來作網上的符號表情,如:*-*(暈)。
4、也表示某些詞語或字無法顯示,或不符合詞語審查,如具有色情、反動等敏感詞會用此符號來屏蔽。
5、用來表示C語言中的指針聲明符。
6、如果用於在數學裡面,相當於一個乘號。
7、SQL中select * 表示輸出結果里包含表裡的全部欄位。
8、ascii值為42。
㈩ C語言編程題這題咋做啊
分析,假如有N封信和N個信封,
第一步:第一封信,錯誤信封情況:N-1個
第二步:假設與第一封信裝錯的信封為第A個信封,則此步就找第A個信封,與之匹配會出錯的信封有N-1個
第三步(如果N大於2):與第M封信匹配錯誤的信封情況為N-2(M≠1,M≠A)
第四步:假設與第M封信裝錯的信封為第B個信封,則此步就找第B個信封,與之匹配會出錯的信封有N-2個
……一次類推
演算法就是(N-1)*(N-1)*(N-2)*(N-2)*…*1*1
自己想出來的,應該是對的,樓主自己測試看看,應該沒錯,代碼就不寫了,很簡單的循環