導航:首頁 > 源碼編譯 > 尋找假幣用什麼演算法

尋找假幣用什麼演算法

發布時間:2022-11-19 08:45:24

『壹』 有6個外觀一樣的硬幣,其中有一個假幣比真幣要輕些。用天平稱的辦法去找,至少幾次能把假幣找出來請寫出

左邊三個右邊三個
把輕的三個拿出來
三個中隨便拿兩個稱
一樣重剩下的那個硬幣是假的,不一樣重輕的是假的
共兩次

『貳』 用手快速數錢時如何才能發現假鈔

最好的辦法是讓對方給打到你銀行賬號,實在不方便的話以下是手感識鈔法
1、數錢的時候將裡面嶄新的鈔票全挑出來,(因為假鈔票稍微舊一點就很容易辨別真假)
2、真鈔稍微舊一點,表面像有一層蠟鍍過一樣
3、數三遍,第一遍數得慢,一邊數一邊把錢整理好,讓每張錢都往同一個方向放。第二遍,數夠不夠數,以數數量為主,數時用手摸毛主席右領是不是有粗糙的手感,第三遍數過一次再檢查一遍
4、一萬一萬的驗數,數完了放一邊,邊十萬一次性全數一遍,別急
5、假鈔辨別法:新錢,偏白,紋路不清晰的,偏厚的,表面手感滑滑的沒粗糙感的,表面一摸手上就有一層毛毛的感覺的,假如全是嶄新鈔票的話就看代碼,一般全是連碼,如果裡面啥碼都有就要小心了,裡面很有可能有假錢
6、如果是剛從銀行取出來的,那些都會朝一個方向放整齊,但如果是有別人開過銀行封條的,你就要小心了
7、挑出來的部分新錢辨別法:新錢不會有透明感,表面粗糙,一拉,聲音特別響亮,很有堅韌感

這是我的心得,雖然我沒有受過專業教育,但是我從小家裡就是做生意,我做過一年的財務出納,沒用過點鈔機,從沒收過假幣,練就火眼精精的方法是,一有過就拿著真幣研究,看它長啥樣,摸手感,聽聲音

『叄』 100枚硬幣中有一枚假幣 質量不同 怎麼用最少的稱量次數找出來😱

首先要知道真幣的標准重量,然後把100枚硬幣分成兩份,每份50枚,稱量一下,把不同於標准重量的一份拿出來,又分成兩半稱量,挑出不同的那一份,這時是25枚,再分成8枚一份,剩下一枚,那三份稱量,找出不同,再分兩份,一直到最後。

『肆』 有16個一元硬幣,其中有個是假的,設計個最簡單的辦法找出那個假的,最好用到折半查找法。

如果沒有說輕重的話應該分成四組,每組4個硬幣
第一次:將其中一組放在天平一邊,另選一組放在天平另一邊
第二次:固定第一組,選擇第三組放在天平另一邊;
這樣就可以得知哪組中有假硬幣了(不分輕重,但能顯示出這一組與其他組重量不一樣);
確定這一組後,把4個硬幣分成4組,每組一個;再用上述方法測兩次就可以確定哪個是假的了;
一共測4次。

『伍』 天平找假幣理論 演算法謎題之硬幣中的假幣

至少2次:第一次,一邊3個,哪邊重就在哪邊,一樣重就是剩餘的3個;第二次,一邊1個,哪邊重就是那個,一樣重就是剩餘的那個.

『陸』 從8個一元的硬幣中找出一個假幣(假幣比真幣重),你如何用一架沒有砝碼的天平找出來請寫出操作過程。

把八個硬幣分為三組 第一組3個 第二組3個 第三組2個
情況1.把第一組和第二組分別放在天平兩端,不平衡的話,沉下的那組定有假幣,將該組的3個硬幣1>挑兩個分別放在天平兩端,不平衡的話,沉下的一邊為假幣。2>挑兩個分別放在天平兩端,天平兩端平橫,那麼剩下的該組第三枚硬幣為假幣
情況2.把第一組和第二組分別放在天平兩端,天平平衡,那麼假幣在第三組。將第三組的2枚硬幣分別放在天平兩端,沉下的一枚為假幣
這種方法只要稱2次就可以找出假幣
這種類型的題目是高中必修3的演算法裡面的內容

『柒』 有12枚硬幣,其中一枚與其他11枚不同,利用1架天平,如何只稱3次就找出假幣

假幣的重量與真的不一樣

能利用天平稱量三次,找出假幣,並判斷假幣的重量比真幣的重量重還是輕.

將硬幣分成三組,每組四枚,分別表示為:

G1 = (1,2,3,4),G2 = (5,6,7,8),G3 = (9,10,11,12).

在第一次稱量時比較G1和G2,它們或者平衡或者一組更重些,下面分別考慮這兩種情況:

如果G1和G2平衡,那麼假幣必定在G3中,即G1和G2中的所有硬幣都是真的.這樣,在第二次稱量中,就可以比較任意三枚真幣(比如1,2和3)和G3中的三枚硬幣:

(1,2,3)和(9,10,11)

所得結果比較為:

1,、硬幣平衡.這表明假幣為12,因為它是G3中唯一在第二次稱量中未出現的硬幣,再進行第三次稱量(比如1與12)就可以確知假幣比其他硬幣重還是輕.

2、硬幣不平衡.這表明假幣是9、 10、 11中的某一個,並且還可以知道假幣是輕些還是重些.如果(1、 2、 3)比(9、 10、 11)重些,那麼假幣就輕些,反之亦然.再進行第三次稱量(比如9與10)就可以確定是哪一枚是贗品.如果9和10平衡,那麼假幣是11,如果不平衡,那麼根據前面已知的假幣是輕些還是重些的信息就可以知道它們中的哪一枚是假幣.

如果G1和G2不平衡,那麼我們可以知道,1.、 假幣在G1或G2中 2.、 硬幣9.、 10、 11和12是真幣.

把G2中的一枚硬幣(比如5)移到天平的左邊,在天平的右邊加一枚真幣(比如12).這樣第二次稱量就是(1、 2和5)與(3、 4、 12).

假設在第一次稱量中,硬幣(1、 2、 3、 4)比(5、 6、 7、 8)重些,那麼在第二次稱量中有三種可能的結果:

1、 硬幣(1、 2、 5)重些.這表明硬幣3、 4 和5是真的,因為我們改變了它們在天平中的位置,但稱量的結果仍然不變(即左邊重些).由於硬幣12是真的,那麼假幣就是1或2,並且假幣重些.再進行第三次稱量(1與2)就可以馬上確定哪枚是假幣.

2、 硬幣(3、 4、 5)重些.由於兩車稱量的結果發生了改變(也就是第一次稱量天平左邊重些,而現在右邊重些),那麼假幣一定是從天平的一端移到了另一端.因此,或者硬幣3或4是假的,並且重些.或者硬幣5是假的,且輕些.這樣再進行第三次稱量(3與4)就可以確定出贗品.如果平衡,則假幣是5,否則,較重的那個是假幣.

3、 硬幣(1、 2、 5)和(3、 4、 12)平衡.這表明假幣必定不包含在第二次稱量中,而必為6、 7或8中的一枚.同時,從第一次稱量的結果可知假幣較輕.這樣,再進行第三次比較。

(7)尋找假幣用什麼演算法擴展閱讀:

c語言題目 - 稱硬幣

描述
賽利有12枚銀幣。其中有11枚真幣和1枚假幣。假幣看起來和真幣沒有區別,但是重量不同。但賽利不知道假幣比真幣輕還是重。於是他向朋友借了一架天平。朋友希望賽利稱三次就能找出假幣並且確定假幣是輕是重。例如:如果賽利用天平稱兩枚硬幣,發現天平平衡,說明兩枚都是真的。如果賽利用一枚真幣與另一枚銀幣比較,發現它比真幣輕或重,說明它是假幣。經過精心安排每次的稱量,賽利保證在稱三次後確定假幣。

關於輸入
第一行是n,表示數據共有n組。
其後是n*3行。每組數據有三行,每行表示一次稱量的結果。賽利事先將銀幣標號為A-L。每次稱量的結果用三個以空格隔開的字元串表示:天平左邊放置的硬幣 天平右邊放置的銀幣 平衡狀態。其中平衡狀態用"up", "down", 或 "even"表示, 分別為右端高、右端低和平衡。天平左右的銀幣數總是相等的。

關於輸出
輸出為n行。每行輸出一組數據中哪一個標號的銀幣是假幣,並說明它比真幣輕還是重。
如果第K枚銀幣是假,並且它是輕的,則輸出:
K is the counterfeit coin and it is light.
如果第K枚銀幣是假,並且它是重的,則輸出:
K is the counterfeit coin and it is heavy.


例子輸入
1
ABCD EFGH even
ABCI EFJK up
ABIJ EFGH even

例子輸出
K is the counterfeit coin and it is light.

『捌』 101個硬幣中有1個假幣,怎樣用天平兩次找出

先把這9個硬幣分成三份,隨便選取兩份放在天平上,如果天平沒有保持平衡,則假硬幣在上升的那個托盤中;如果天平保持平衡,則假硬幣在第三份中。再將有假硬幣的那份隨機拿兩個硬幣放在天平上,如果天平沒有保持平衡,則假硬幣在上升的那個托盤中;如果天平保持平衡,則另外一枚就是假硬幣。這樣就只稱兩次就能找出假硬幣了。

『玖』 有7個硬幣6個真幣,一個假幣。 用天平稱兩次,怎樣才能把假幣找出來

首先天平兩邊各放3個硬幣,如果一樣重,那麼沒有放在天平上的就是假幣。如果不一樣重,那麼假幣在重一些的3個硬幣里,用天平把重一些的3個硬幣其中的兩個再稱一次,如果一樣重,那麼沒有放在天平上的就是假幣,如果不一樣重,那麼重一些的就是假幣。

『拾』 python n個硬幣中找一個假幣,且已知假幣較輕,怎麼用遞歸和非遞歸兩種方法求

思路:假設有數組arr,裡面的int值代表銀幣重量,下標代表第幾個銀幣。

循環(非遞歸):把數組第一個值賦值給變數tmp,從第二個變數循環到最後一個,比較循環里的變數和tmp值,如果不等,就返回小數下標。

遞歸:用二分思想,銀幣分2堆(不能均分時把中間那個留出來),取重量小的那堆繼續二分。最後只剩下一個時就是所求

下面這種寫法是返回下標的。也可以把硬幣假設成一種數據類型,然後返回那個類型

#!/usr/bin/python
#-*-coding:utf-8-*-

#返回最小值下標
defgetMin(arr1):
iflen(arr1)==0:return-1

tmp=arr1[0]
index=0
forcurinarr1:
iftmp!=cur:
return0iftmp<curelseindex
index+=1
return-1

real_index=0
#返回最小值下標遞歸
defgetMinRecursion(arr1):
globalreal_index
n=len(arr1)
ifn==0:return-1

ifn==1:returnreal_index
ifn==2:returnreal_indexifarr1[0]<arr1[1]elsereal_index+1

sum1=sum(arr1[0:int(n/3)])
sum2=sum(arr1[int(n/3):int(n/3)*2])

ifsum1==sum2:
real_index+=int(n/3)*2
returngetMinRecursion(arr1[int(n/3)*2:n+1])
ifsum1<sum2:
returngetMinRecursion(arr1[0:int(n/3)])
else:
real_index+=int(n/3)
returngetMinRecursion(arr1[int(n/3):int(n/3)*2])

arr=[1,1,1,1,1,1,0,1,1]
print("%d"%getMin(arr))
print("%d"%getMinRecursion(arr))
閱讀全文

與尋找假幣用什麼演算法相關的資料

熱點內容
編譯原理如何運用到編程中 瀏覽:14
linux選擇資料庫 瀏覽:375
php兩個數組差集 瀏覽:978
迷你pdf閱讀器下載 瀏覽:432
做一個python小程序 瀏覽:654
pythonossystem和 瀏覽:644
win2008如何搭建ftp伺服器 瀏覽:53
安卓手機為什麼不翻牌 瀏覽:545
刪除pkpm及相關文件夾 瀏覽:480
房貸解壓銀行內部流程 瀏覽:734
安卓手機如何更改語音 瀏覽:599
android紅包實現 瀏覽:733
蘋果的nvme為什麼安卓不用 瀏覽:31
python輸入單詞統計個數 瀏覽:997
腳本軟體提取源碼 瀏覽:281
程序員能給自己的微信錢包刷錢么 瀏覽:72
怎麼讓小天才app查看寶貝的通訊錄 瀏覽:623
dxgpdf 瀏覽:257
哪個命令 瀏覽:51
文件不能打包壓縮 瀏覽:708