有趣的小演算法 1

2022-06-26 05:33:12 字數 375 閱讀 7447

乙個100大小的int陣列,要求隨機新增1-100的數到其中,且不能有重複。

思考:在for(0-99)迴圈中 肯定要產生隨機數然後與陣列中元素比較,如果產生的隨機數在for(0-i)中有相等,則

跳出迴圈,再產生隨機數;如果不等,繼續在for(0-i)中比較,直到小迴圈中是i值還是不等,說明不存在相等的數,則跳出while迴圈,將該隨機數指向大for迴圈中arr[i]。

完整**如下

int  arr = new int[100];

int random;

for(int i=0;i<100;i++)else if(j==i)

}}while(t);

arr[i]=temp;

}

有趣有用的小演算法 交換演算法

1.中間值交換 int a 1,b 2 int c 把c作為中間值交換 交換a,b的值 c a a b b c 這個演算法相當於交換ab兩杯水,然後拿出乙個空杯子c,先讓c裝滿a的水,然後將b的水倒入a裡面,這樣a就裝了b的水。最後把c的水倒入b中。2.相減交換 int a 100,b 200 a ...

有趣的小程式

include int main 執行這個程式,螢幕上會出現乙個 很多人不懂其中的道理,在這裡我給大家分析下 先看這兩句 const short int c1 49920 const int c2 1073742008 定義了兩個區域性變數,數值轉換成16進製為 const short int c1...

有趣的演算法

friday,july 22,2016 19 50 50 a b兩人分別在兩座島上。b生病了,a有b所需要的藥。c有一艘小船和乙個可以上鎖的箱子。c願意在a和b之間運東西,但東西只能放在箱子裡。只要箱子沒被上鎖,c都會偷走箱子裡的東西,不管箱子裡有什麼。如果a和b各自有一把鎖和只能開自己那把鎖的鑰匙...