巧思覺簡單小題

2021-09-11 01:34:23 字數 3082 閱讀 8451

題目一:

特殊的數字

problem description

有些數字的立方的末尾正好是該數字本身。

比如:1,4,5,6,9,24,25,....

請你計算一下,在10000以內的數字中(指該數字,並非它立方後的數值),符合這個特徵的正整數一共有多少個。

請提交該整數,不要填寫任何多餘的內容。

input

無 output

輸出乙個整數

思路:注意立方的末尾是數字本身,比如25*25*25=15625,末尾與25比較,而不是和5比較。

答案:36

題目二:

破除迷信

problem description

有些人很迷信數字,比如帶「4」的數字,認為和「死」諧音,就覺得不吉利。

雖然這些說法純屬無稽之談,但有時還要迎合大眾的需求。某**活動的獎券號碼是5位數(10000-99999),要求其中不要出現帶「4」的號碼,主辦單位請你計算一下,如果任何兩張獎券不重號,最多可發出獎券多少張。

請提交該數字(乙個整數),不要寫任何多餘的內容或說明性文字。

input

無 output

輸出乙個整數 

思路:口算題,從最高位到最低位每一位可以取8,9,9,9,9種不同的數字

答案:52488

題目三:

殘酷的生物圈

problem description

假設有兩種微生物 x 和 y

x出生後每隔3分鐘**一次(數目加倍),y出生後每隔2分鐘**一次(數目加倍)。

乙個新出生的x,半分鐘之後吃掉1個y,並且,從此開始,每隔1分鐘吃1個y。

現在已知有新出生的 x=10, y=89,求60分鐘後y的數目。

如果x=10,y=90 呢?

本題的要求就是寫出這兩種初始條件下,60分鐘後y的數目。

題目的結果令你震驚嗎?這不是簡單的數字遊戲!真實的生物圈有著同樣脆弱的性質!也許因為你消滅的那只 y 就是最終導致 y 種群滅絕的最後一根稻草! 

input

無 output

輸出共兩行,每一行乙個整數,分別為兩種情況下y的數目

思路:換成120分鐘,柳暗花明

#includeusing namespace std;

#define ll long long

void calc(ll x,ll y)

if(i%6==0)

x=2*x;

if(i%4==0)

y=2*y;

if(i%2==1)

y-=x;

// cout<<"當前i:"《題目三:

海盜拼酒

problem description

有一群海盜(不多於20人),在船上比拼酒量。過程如下:開啟一瓶酒,所有在場的人平分喝下,有幾個人倒下了。再開啟一瓶酒平分,又有倒下的,再次重複...... 直到開了第4瓶酒,坐著的已經所剩無幾,海盜船長也在其中。當第4瓶酒平分喝下後,大家都倒下了。

等船長醒來,發現海盜船擱淺了。他在航海日誌中寫到:「......昨天,我正好喝了一瓶.......奉勸大家,開船不喝酒,喝酒別開船......」

請你根據這些資訊,推斷開始有多少人,每一輪喝下來還剩多少人。

如果有多個可能的答案,請列出所有答案,每個答案佔一行。

格式是:人數,人數,...

例如,有一種可能是:20,5,4,2,0

input

無 output

輸出若干行。

每一行有5個數字(最後乙個數字為0),數字之間用逗號分隔,注意每一行的最後不要有逗號,也不要有空格。如果有多個答案,則按第乙個數字從小到大進行排序。

思路:看破題目很簡單。設五次分別為i,j,k,t,0 則滿足1/i + 1/j + 1/k +1/t =1即可。

#include#include#include#includeusing namespace std;

int main()}}

} }return 0;

}

題目四:

小明的魔術

problem description

小明剛上小學,學會了第乙個撲克牌「魔術」,到處給人表演。魔術的內容是這樣的:

他手裡握著一疊撲克牌:a,2,....j,q,k 一共13張。他先自己精心設計它們的順序,然後正面朝下拿著,開始表演。

只見他先從最下面拿一張放到最上面,再從最下面拿一張翻開放桌子上,是a;然後再從最下面拿一張放到最上面,再從最下面拿一張翻開放桌子上,是2;......如此迴圈直到手中只有一張牌,翻開放桌子上,剛好是k。

這時,桌上牌的順序是:a,2,3,4,5,6,7,8,9,10,j,q,k

請你計算一下,小明最開始的時候手裡牌的順序是怎樣的。

把結果寫出來,逗號分割,小明「魔術」開始時,最下面的那張牌輸出為第乙個資料。

考場不提供撲克牌,你只能用計算機模擬了,撕碎草稿紙模擬撲克屬於作弊行為!另外,你有沒有把錄影倒著放過?很有趣的!

input

無 output

輸入a, 2, 3,...,q,k的一種排列方式,中間用逗號分隔。 

#include#includeusing namespace std;

//7,a,q,2,8,3,j,4,9,5,k,6,10

//逆過程就是:將桌子上牌拿回手上,再把手上最上面的牌放到最下面。

//本題可以暴力解,即全排列+模擬解。因為資料不大也可以手動演算(實在不行的話)

int main()

; for(int i=1;i<=12;i++)

for(int i=1;i<=29;i++)

}double minv=99999,maxv=-1;

for(int i=1;i<=30;i++)

簡單的小題集(二)

主函式 建立虛擬型別為int型別的張三物件,輸出其工資和姓名,建立虛擬型別為float型別的李四物件,並通過修改工資函式將其工資修改為12345.6,輸出其工資和姓名。建立物件陣列,引數初始化值對應如下表 姓名 工資 張麗 2000 韓麗 5000 袁麗 6500 毛麗 3500 如下 includ...

C 4道簡單小題

1,成績等級,用switch來實現。include int main return 0 2,輸出陣列中小於平均數的數 include int main for int i 1 i n i 3,1.定義函式double findradius double c 根據周長求出圓的半徑 2.定義函式doub...

經典面試題之簡單小題目

往往有一些面試題是是看起來很基礎的,但在那一瞬間你想不起來的。最近我朋友在一家公司面試。八個機試題,我就隨機選了乙個機試題到部落格分享。題如下 1 用隨機數生成30個整數並用陣列儲存 2 刪除原陣列中的偶數 是從原陣列中刪除,不是將元素儲存在新陣列 3 輸出刪除偶數後陣列中的剩餘元素 下面就是答案 ...