1. 程式人生 > >12個小球稱重量問題(C程式碼)

12個小球稱重量問題(C程式碼)

12個外表一模一樣的小球,其中有一個重量和其他11個不同,怎樣只用3次天平將這個小球找出來?

==============print.txt=================

===[1]===
1(1) 2(2) 3(2) 4(2) 5(2) 6(2) 7(2) 8(2) 9(2) 10(2) 11(2) 12(2)
S1:{1.2.3.4}<{5.6.7.8}
S2:{2.3.5}=={4.6.9}
S3:{7}=={8}
resule:1
===[2]===
1(2) 2(1) 3(2) 4(2) 5(2) 6(2) 7(2) 8(2) 9(2) 10(2) 11(2) 12(2)
S1:{1.2.3.4}<{5.6.7.8}
S2:{2.3.5}<{4.6.9}
S3:{2}<{3}
resule:2
===[3]===
1(2) 2(2) 3(1) 4(2) 5(2) 6(2) 7(2) 8(2) 9(2) 10(2) 11(2) 12(2)
S1:{1.2.3.4}<{5.6.7.8}
S2:{2.3.5}<{4.6.9}
S3:{2}>{3}
resule:3
===[4]===
1(2) 2(2) 3(2) 4(1) 5(2) 6(2) 7(2) 8(2) 9(2) 10(2) 11(2) 12(2)
S1:{1.2.3.4}<{5.6.7.8}
S2:{2.3.5}>{4.6.9}
S3:{X}!={4}
resule:4
===[5]===
1(2) 2(2) 3(2) 4(2) 5(1) 6(2) 7(2) 8(2) 9(2) 10(2) 11(2) 12(2)
S1:{1.2.3.4}>{5.6.7.8}
S2:{2.3.5}<{4.6.9}
S3:{X}=={4}
resule:5
===[6]===
1(2) 2(2) 3(2) 4(2) 5(2) 6(1) 7(2) 8(2) 9(2) 10(2) 11(2) 12(2)
S1:{1.2.3.4}>{5.6.7.8}
S2:{2.3.5}>{4.6.9}
S3:{2}=={3}
resule:6
===[7]===
1(2) 2(2) 3(2) 4(2) 5(2) 6(2) 7(1) 8(2) 9(2) 10(2) 11(2) 12(2)
S1:{1.2.3.4}>{5.6.7.8}
S2:{2.3.5}=={4.6.9}
S3:{7}<{8}
resule:7
===[8]===
1(2) 2(2) 3(2) 4(2) 5(2) 6(2) 7(2) 8(1) 9(2) 10(2) 11(2) 12(2)
S1:{1.2.3.4}>{5.6.7.8}
S2:{2.3.5}=={4.6.9}
S3:{7}>{8}
resule:8
===[9]===
1(2) 2(2) 3(2) 4(2) 5(2) 6(2) 7(2) 8(2) 9(1) 10(2) 11(2) 12(2)
S1:{1.2.3.4}=={5.6.7.8}
S2:{9.10}<{11.X}
S3:{9.11}<{12.X}
resule:9
===[10]===
1(2) 2(2) 3(2) 4(2) 5(2) 6(2) 7(2) 8(2) 9(2) 10(1) 11(2) 12(2)
S1:{1.2.3.4}=={5.6.7.8}
S2:{9.10}<{11.X}
S3:{9.11}=={12.X}
resule:10
===[11]===
1(2) 2(2) 3(2) 4(2) 5(2) 6(2) 7(2) 8(2) 9(2) 10(2) 11(1) 12(2)
S1:{1.2.3.4}=={5.6.7.8}
S2:{9.10}>{11.X}
S3:{9.11}<{12.X}
resule:11
===[12]===
1(2) 2(2) 3(2) 4(2) 5(2) 6(2) 7(2) 8(2) 9(2) 10(2) 11(2) 12(1)
S1:{1.2.3.4}=={5.6.7.8}
S2:{9.10}=={11.X}
resule:12
===[13]===
1(3) 2(2) 3(2) 4(2) 5(2) 6(2) 7(2) 8(2) 9(2) 10(2) 11(2) 12(2)
S1:{1.2.3.4}>{5.6.7.8}
S2:{2.3.5}=={4.6.9}
S3:{7}=={8}
resule:1
===[14]===
1(2) 2(3) 3(2) 4(2) 5(2) 6(2) 7(2) 8(2) 9(2) 10(2) 11(2) 12(2)
S1:{1.2.3.4}>{5.6.7.8}
S2:{2.3.5}>{4.6.9}
S3:{2}>{3}
resule:2
===[15]===
1(2) 2(2) 3(3) 4(2) 5(2) 6(2) 7(2) 8(2) 9(2) 10(2) 11(2) 12(2)
S1:{1.2.3.4}>{5.6.7.8}
S2:{2.3.5}>{4.6.9}
S3:{2}<{3}
resule:3
===[16]===
1(2) 2(2) 3(2) 4(3) 5(2) 6(2) 7(2) 8(2) 9(2) 10(2) 11(2) 12(2)
S1:{1.2.3.4}>{5.6.7.8}
S2:{2.3.5}<{4.6.9}
S3:{X}!={4}
resule:4
===[17]===
1(2) 2(2) 3(2) 4(2) 5(3) 6(2) 7(2) 8(2) 9(2) 10(2) 11(2) 12(2)
S1:{1.2.3.4}<{5.6.7.8}
S2:{2.3.5}>{4.6.9}
S3:{X}=={4}
resule:5
===[18]===
1(2) 2(2) 3(2) 4(2) 5(2) 6(3) 7(2) 8(2) 9(2) 10(2) 11(2) 12(2)
S1:{1.2.3.4}<{5.6.7.8}
S2:{2.3.5}<{4.6.9}
S3:{2}=={3}
resule:6
===[19]===
1(2) 2(2) 3(2) 4(2) 5(2) 6(2) 7(3) 8(2) 9(2) 10(2) 11(2) 12(2)
S1:{1.2.3.4}<{5.6.7.8}
S2:{2.3.5}=={4.6.9}
S3:{7}>{8}
resule:7
===[20]===
1(2) 2(2) 3(2) 4(2) 5(2) 6(2) 7(2) 8(3) 9(2) 10(2) 11(2) 12(2)
S1:{1.2.3.4}<{5.6.7.8}
S2:{2.3.5}=={4.6.9}
S3:{7}<{8}
resule:8
===[21]===
1(2) 2(2) 3(2) 4(2) 5(2) 6(2) 7(2) 8(2) 9(3) 10(2) 11(2) 12(2)
S1:{1.2.3.4}=={5.6.7.8}
S2:{9.10}>{11.X}
S3:{9.11}>{12.X}
resule:9
===[22]===
1(2) 2(2) 3(2) 4(2) 5(2) 6(2) 7(2) 8(2) 9(2) 10(3) 11(2) 12(2)
S1:{1.2.3.4}=={5.6.7.8}
S2:{9.10}>{11.X}
S3:{9.11}=={12.X}
resule:10
===[23]===
1(2) 2(2) 3(2) 4(2) 5(2) 6(2) 7(2) 8(2) 9(2) 10(2) 11(3) 12(2)
S1:{1.2.3.4}=={5.6.7.8}
S2:{9.10}<{11.X}
S3:{9.11}>{12.X}
resule:11
===[24]===
1(2) 2(2) 3(2) 4(2) 5(2) 6(2) 7(2) 8(2) 9(2) 10(2) 11(2) 12(3)
S1:{1.2.3.4}=={5.6.7.8}
S2:{9.10}=={11.X}
resule:12

相關推薦

12小球重量問題(C程式碼)

12個外表一模一樣的小球,其中有一個重量和其他11個不同,怎樣只用3次天平將這個小球找出來? /*author:cifry*/ /*platform:VC++6.0*/ #include<stdio.h> #include<stdarg.h> #in

12小球3次得到質量不同的那個小球

問題:          有12個小球,其中有一個的質量與其它小球不同。有一個天平,但沒有砝碼。將這12個小球在這個天平上稱3次,得到質量不同的那個小球。 思路:          對於這個問題,我們無法知道,那個質量不同的小球相比其它的小球,質量是輕了,還是重了。這也

個人小專案:現有12小球和一個天平,小球中有一個重量與其它的不同,重幾次能將這個小球找出來

<script language="JavaScript"> //建立兩個陣列,分別存放左邊盤小球物件和右邊盤小球物件 var leftbar = new Array(); var rightbar = new Array(); //建立一個整形變數,存放當前稱重的次數

如何在WINFORM中彈出一個又控制元件的對話方塊 能給簡單的示範C#程式碼嗎 以及一些小問題 菜鳥想學

如何在WINFORM中彈出一個又控制元件的對話方塊  能給個簡單的示範C#程式碼嗎順便問問 這段程式碼是啥意思啊        private void btn_catchMe_Click(object sender, System.EventArgs e)        {

LeetCode 21.合併兩有序連結串列 C++程式碼實現

題目描述: 將兩個有序連結串列合併為一個新的有序連結串列並返回。新連結串列是通過拼接給定的兩個連結串列的所有節點組成的。  示例: 輸入:1->2->4, 1->3->4 輸出:1->1->2->3->4->4

12球用天平3次找到重量不同的那個球

將12個球分成3組,每4個一組 1  將4個A放到天平左邊,4個B放到天平右邊;可能出現2種情況: a:平衡 b:不平衡 1.1 如果是a 情形  說明在天平上的八個球都是普通球,而剩下的4個球裡面有一個是特殊球,我們把不知道的球記為 X ,普通球記為 Y,那麼現在有4個X

12球有1重量不同,給你一個沒法碼的天秤,只能3次把它找出來

先將球分三組,每組四個,記為A,B,C。 將A,B放在天平兩端(第一次)。有兩種結果: 一、結果一,平衡,那異常的在C組。 1、取A組的三個放在一端,C組的三個C1C2C3放在一端(第二次)。 2、平衡:C4異常,把C4和A組的一個稱一次就知道C4是輕還是重了。 3、不平衡:已經確定C1C2C3中的一個是異常

12球,其中有1壞球和其他11重量不一樣,給你一個天平,3次,找出不一樣的那個

很常見的一道邏輯題,只使用已知條件,不借用其他外力。 設12個球分別是:A1,A2,A3,A4,B1,B2,B3,B4,C1,C2,C3,C4 第一次稱:天平兩側分別是,左側:A1,A2,A3,A4,右側:B1,B2,B3,B4 若平衡,則壞球在C組中。  第二次稱C1,

12釘子一個天平,現知道只有一個和其它的重量不同,問能否三次就能找到那個釘子。

今天看到有人在問一個押寶問題的答案是怎麼得出的,我曾經在這個押寶上掙了7分,做為“既得利益者”,我覺得我得答一下。 題目是“用一個天平最少稱幾次能把一個重量不標準的釘子從12個釘子中找出來”,答案是3次。前面的答案都沒有注意到釘子的重量是重是輕是不知道的。我開始寫我的答案

12球一個天平,現知道只有一個和其它的重量不同,問怎樣才能用三次就找到那個球

       12 個球時分析結果:          13個球時,只需要變動情況3時第三次稱重情況的第二組,這時候可有三種結果:               球11<球12    特殊球篇重: 球12               球11=球12    特殊球:球13              

Aras學習筆記 (12) C#程式碼讀取域使用者列表(轉,翻譯)

Get List of Active Directory Users in C# - 作者原文標題 Introduction  This tip describes how to list Active Directory users.  介紹如何提取AD域中的使用者列表 Using

求兩個數哪兩最接近c++程式碼

int main() { int a[MAXN]; int i = 0; int minus =0, abso = 0; int n1 = 0, n2 = 1; while (scanf_s(“%d”, &

資料結構c語言版 嚴蔚敏 順序線性表12基本操作及演算法的實現

標頭檔案: c1.h (相關標頭檔案及函式結果狀態程式碼集合) /* c1.h (程式名) */ #include<string.h> #include<ctype.h> #include<malloc.h> /

單執行緒實現同時監聽多埠(windows平臺c++程式碼

前言   多年前開發了一套網路庫,底層實現採用IOCP(完成埠)。該庫已在公司多個程式中應用;經過多次修改,長時間檢驗,已經非常穩定高效。 最近把以前的程式碼梳理了一下,又加進了一些新的思路。程式碼結構更加合理,效能也有所提升。打算將該庫一些的知識點寫出來,以供參考。 服務端要在多個埠監聽,這種場合並不多見。

Joel測試:衡量程式碼好壞的12準則

你是否聽過SEMA?SEMA是一個晦澀難懂的衡量軟體團隊好壞的系統。等等,你千萬別點這個連結,因為你會發現你理解不了SEMA系統裡面的內容。 因此,我提出了自己的看法,粗略的,不是很精確的,衡量一個軟體開發團隊及其專案好壞的準則。這個準則的最大優點是簡單易懂,且得到的結果真實。相比與SEMA你可以節

C/C++程式碼練習12】正序分解非負整數

題目     輸入一個非負整數,正序輸出它的每一位數字。例如輸入12345,則輸出1 2 3 4 5。例如輸入7000,則輸出7 0 0 0。 解法如下 #include <stdio.h&

用四砝碼出1—40克所有重量,四砝碼分別為多少? 梅氏砝碼問題

這個在數學上叫做梅氏砝碼問題,其敘述如下: 若有n個砝碼,重量分別為M1,M2,……,Mn,且能稱出從1到(M1+M2+……+Mn)的所有重量,則再加一個砝碼,重量為Mn+1=(M1+M2+……+Mn)*2+1,則這n+1個砝碼能稱出從1到 (M1+M2+……+Mn+Mn+1)的所有重量。 取n=1,M1

【演算法筆記】動態規劃,三例題(解題思路與C++程式碼

寫在前面,我想發個感慨:       當年大學時代ACM的時候,動態規劃演算法對鄙人來說一直算得上魔障,有時能敲出來程式碼,有時候狗咬刺蝟無從下嘴。       以至於一直認為動態規劃是ACM的代表演

編輯距離 演算法詳述計算兩字串差異 c++程式碼

編輯距離即從一個字串變換到另一個字串所需要的最少變化操作步驟(以字元為單位,如son到sun,s不用變,將o->s,n不用變,故操作步驟為1)。 為了得到編輯距離,我們畫一張二維表來理解,以beauty和batyu為例: 圖示如1單元格位置即是兩個單詞的第一個字元[b]比較得到的值,其值由它上方的

如何用c++產生1-10十不同的隨機數(程式碼很經典)

你要不同的10個數。 你可以設個數組儲存已經產生的數 。比如已經產生了第一個數5, 你用rand()生成了又一個5時,比較一下以產生的數發現是5,就跳過,看下一個。總能產生10個不同的隨機數。 演算法就是,每生成一個數就與原來生成的數比較,如果有相等的就就重新生成一個數,