值為1到99的數中有兩個數相等,設計演算法找出這兩個數

2021-03-04 05:10:50 字數 483 閱讀 3419

1樓:匿名使用者

一種演算法是:先求1+2+...+99的和sum,再用這100個數的和減去sum,得到的數就是重複的數字

還可以先排序,然後從首元素開始,依次比較相鄰元素是否相等,發現相等後就停止。

以上兩種方法只能發現重複的數字,不能找到它在這100個數字中的確切位置。

按選擇法進行查詢,即依次取出這個陣列中的每乙個數,和其它的99個數對比,發現重複後就停止。

2樓:子曾經曰過

沒有那麼麻煩,先求和1+2+...+99=x

然後用你的100個數字求和,減去這裡的x,就得到了重複的那個數。

3樓:

先求和,假如結果為i,則再求1+。。。+99=j,其中i-j得到的是那個數值,就是那個數,因為100個數里只有兩個一樣的話,肯定其餘的都是1-99不重複的,所以可以先把1-99加起來,然後在加這個x得到的結果應該是所有的數加和,直接求就是x

MATLAB中有兩個變數的函式怎麼儲存資料

t 0.5 0.1 2 y linspace 1,10,length t t 1.t y.3 plot t python同乙個類內兩個函式變數怎麼呼叫 classa self.b1 0 def b self self.b1 123 def c self c1 self.b1 5 print c1 如...

求證2019不能表示為兩個平方數的和

不能,按照整數平方尾數分別是0,1,4,9,6,5,6,9,4,1,因此如果寫成兩個平方數,尾數一定是4和9,所以,自然數尾數是8 或者2 以及3 或者7 因此這兩個數一定是10x 8,10y 3,x,y是正整數所以有 2 2 2003,因此 100 x 2 y 2 160x 60y 73 2003...

哪兩個相同的數相乘等於,哪兩個相同的數相乘等於

根號10乘以根號10等於10 負根號10 乘以 負根號10 等於10 根號10 3.16228 哪兩個同樣的數相乘 10 兩個 10相乘,積為10 乙個數開平方後相乘,積等於這個數 可以是 10 1 2 10 1 2 10 10 1 2 10 1 2 10 根號10乘以根號10 10 兩個5啊,不是...