當前位置:首頁 » 操作系統 » 演算法思想

演算法思想

發布時間: 2022-01-08 01:35:04

1. 演算法思想




如果 x 和 y 是被隨機抽掉的那兩個元素,那麼:
x + y = sum
x * y = proct
(sum 和 proct 的值都可以在程序中不違反條件的情況下求出)
解方程組:
x + proct / x = sum
x^2 - sum * x + proct = 0
用公式解決一元二次方程:
x = ( sum + √(sum^2 - 4 * proct) ) / 2

y = sum - x

問題中沒有提及編程語言的限制。我假設 java 是被允許的:

import java.util.*;
import java.math.*;

class C {
public static void main(String[] args) {

final int MAX = 10000;

// 把 ArrayList 當數組用(比較方便且沒違反問題的限制)
List<Integer> problemArray = new ArrayList<Integer>();
for (int i = 1; i <= MAX; i++)
problemArray.add(i);

// 打亂,然後抽去前兩個(等於打亂前隨機抽去兩個)
Collections.shuffle(problemArray);
System.out.println("隨機抽去的兩個數是 " + problemArray.remove(0) +
" 和 " + problemArray.remove(0));

/*
* 五個變數的限制現在開始(MAX 是常量所以不算)
*/
int sum = 0;
BigInteger proct = BigInteger.ONE;// 10000 的階乘遠遠超出 int 的范圍

// 計算 1 到 MAX 的和與積
for (int i = 1; i <= MAX; sum += i++)
proct = proct.multiply(BigInteger.valueOf(i));

// 遍歷問題數組一遍(計算被抽去的兩個數的和與積)
for (int i = 0; i < MAX - 2; sum -= problemArray.get(i++))
proct = proct.divide(BigInteger.valueOf(problemArray.get(i)));

// 一元二次方程用公式解決
int x = (sum + (int) Math.sqrt(sum * sum - 4 * proct.intValue())) / 2;

System.out.println("計算結果:被抽去的兩個數是 " + x + " 和 " + (sum - x));
}
}


2. DDA演算法的演算法思想

直線的基本微分方程為: 。
設直線通過點 和 ,則直線方程可表示為: 。
如果已知第 點的坐標,可用步長 和 得到第 點的坐標為:


如下圖:


將算得的直線上每個點的當前坐標,按四捨五入得到光柵點的位置。

3. 動態規劃演算法的基本思想是什麼

DP一定有狀態,而貪心只是說這個題目最有滿足什麼條件就能得到最優解的情況
一般DP必須得求出他的狀態和轉移方程

4. 統計演算法的思想是什麼

比如說統計字元個數嗎?
演算法是基於基本邏輯的,統計學不是僅僅像其表面的文字表示,只是統計數字,而是包含了調查、收集、分析、預測等,應用的范圍十分廣泛。
用於統計的演算法的思想當然是統計學啊,一直++,也算。
要不你舉個具體例子來分析思想。

5. 演算法思想是什麼

演算法的思想是解決問題

6. 演算法是編程思想嗎

演算法+代碼=程序,演算法是程序設計的靈魂,也就是你所說的編程思想

7. 散列演算法的演算法思想

我也只能說說思想

散列演算法的演算法就是爭取一個蘿卜一個坑的原則

比如說有5個數 12,25,30,45,50,這幾個數有個規律,就是十位數都不相同,

如果我設置一個散列函數f(value)=value/10;平常的時候,我們查找50,要比較

5次(其他演算法可能不同),這里用散列演算法只需要1次,就是解散列函數,key=50/10

=5,要找的數就在第5個位子.但是上面問題還是很多的,比如說查找55呢?就會出

錯<因為55解散列函數之後,也是在第5個位子>,還有等等等問題,很顯然這個是我

散列函數沒設置好,當你把散列函數設置好了後,由於數據的龐大,沖突很有可能

產生,那麼就需要我們來處理沖突了,所以寫散列演算法就是設置好的散列函數和

處理沖突的過程.這里散列演算法涉及的查找就跟查找的數量無關,跟沖突率有直接

的關系

8. 什麼是演算法構造演算法的基本思想是什麼

1順序結構
按從上到下的順序進行
2選擇結構
根據條件作判斷,再決定執行哪一種操作的演算法結構
必須包含判斷框
3循環結構

9. 選擇排序演算法的思想是什麼

選擇排序=選擇最小放前面

熱點內容
裝緩存下載 發布:2024-09-20 05:42:36 瀏覽:72
gon引擎自動回收腳本 發布:2024-09-20 05:39:39 瀏覽:246
好醫生連鎖店密碼多少 發布:2024-09-20 05:09:38 瀏覽:15
魔獸腳本代理 發布:2024-09-20 05:09:35 瀏覽:99
python登陸網頁 發布:2024-09-20 05:08:39 瀏覽:757
安卓qq飛車如何轉蘋果 發布:2024-09-20 04:54:30 瀏覽:178
存儲過程中in什麼意思 發布:2024-09-20 04:24:20 瀏覽:315
php顯示數據 發布:2024-09-20 03:48:38 瀏覽:501
源碼安裝軟體 發布:2024-09-20 03:44:31 瀏覽:354
入門編程游戲的書 發布:2024-09-20 03:31:26 瀏覽:236