演算法比大小
❶ 求最簡單的兩數比大小的演算法,該如何處理
取中間數,或者看位數。
一般位數高的數大。
❷ 求一個比較大小的java演算法
1.是的
2.a-可以直接求和,b-利用近似公式
3.近似公式為e=(1+1/n)^n,n->無窮大
4.這兩個公式都需要運算n到足夠大來減少誤差
假如你運算到n=k滿足精度需要了
那麼你首先要保證當n=k-1時算出的值與n=k的值差別小於0.0001
假如需要考慮截斷誤差,那麼你就要考慮到任何一個1/n或者1/n!的形式的截斷誤差,以及運算中每一步的累計誤差,都是可以計算的
從累積誤差的角度來說,第一個方法較優
因為每一個求和項目都是整數的倒數,只發生一次截斷
之後的誤差計算直接將最大誤差可能求和就可以了
而且每一次迭代可以應用上一次的結果,效率較高
但是缺點是當n比較大的時候,n!也會是一個比較大的數,n的類型定義得不好會溢出
第二個方法就需要計算一次截斷誤差,並且計算n次方的誤差累積
❸ C++有哪些比較大小的排序方法
各種排序演算法
排序演算法是一種基本並且常用的演算法。由於實際工作中處理的數量巨大,所以排序演算法
對演算法本身的速度要求很高。
而一般我們所謂的演算法的性能主要是指演算法的復雜度,一般用O方法來表示。在後面我將
給出詳細的說明。
參考資料:http://cn.codeof.com/articles/programming/vc/1011.htm
介紹了主流的7種排法,有基本實現代碼。
一、排序的基本概念
排序:就是將記錄按關鍵字遞增(遞減)的次序排列起來,形成新的有序序列,稱為排序。設n個記錄的序列為{R1,R2,…,Rn},其相應關鍵字序列為{K1,K2,…,Kn},需確定一種排序P1,P2,…,Pn,使其相應的關鍵字滿足遞增(升序),或遞減(降序)的關系:
Kp1 £ Kp2 £ ...£ Kpn
或
Kp1 ³ Kp2 ³ … ³ Kpn
根據排序元素所在位置的不同,排序分: 內排序和外排序。
http://blog.csdn.net/phpme/archive/2006/06/22/820447.aspx
介紹了5種排法,有設計思想。
❹ 兩兩比較大小排序法是8種排序演算法的哪一種啊
是 冒泡排序法,復習一下:若記錄序列的初始狀態為"正序",則冒泡排序過程只需進行一趟排序,在排序過程中只需進行n-1次比較,且不移動記錄;反之,若記錄序列的初始狀態為"逆序",則需進行n(n-1)/2次比較和記錄移動。因此冒泡排序總的時間復雜度為O(n*n)。
❺ excel中怎麼用演算法比較時間大小
建議把時間寫成小數形式。 如。6:00 --〉 6.00 這樣就有比較可言。
對於IF 這樣的簡單邏輯。這樣比較可行。 不然它沒辦法識別 :這個東東。
❻ 分數比較大小分子和分母相差一怎樣簡便演算法
分數比較大小
分子和分母相差一
例如:
3/4和 4/5
3/4=15/20
4/5=16/20
是4/5大
所以
分子和分母相差一,分母大的那個分數大
❼ 任意給定三個數,如何比較三個數的大小情況,在設計演算法時要注意什麼
答案:解析: 探究過程:首先,得先有個地方裝這三個數,我們定義三個變數X、Y、Z,將三個數依次輸入到X、Y、Z中,另外,再准備一個Max裝最大數.由於計算機一次只能比較兩個數,我們首先把X與Y比,大的數放入Max中,再把Max與Z比,又把大的數放入Max中.最後,把Max輸出,此時Max中裝的就是X、Y、Z三數中最大的一個數.演算法可以表示如下: (1)輸入X、Y、Z; (2)X與Y中大的一個放入Max中; (3)把Z與Max中大的一個放入Max中; (4)輸出Max,Max即為最大數. 其中的(2)、(3)兩步仍不明確,無法直接轉化為程序語句,可以繼續細化: (2)把X與Y中大的一個放入Max中,若X>Y,則Max←X;否則Max←Y. (3)把Z與Max大的一個放入Max中,若Z>Max,則Max←Z. 於是演算法最後可以寫成: (1)輸入X,Y,Z. (2)若X>Y,則Max←X; 否則Max←Y. (3)若Z>Max,則Max←Z. (4)輸出Max,Max即為最大數. 這樣的演算法已經可以很方便地轉化為相應的程序語句了. 探究結論:流程圖如圖:
❽ java 比較大小演算法
排序用建議實現comparable類吧 自定義排序比較的參數 否則對象是沒法比較大小的 只能比較是否相等
class One implements Comparable{
int age;
@Override
public int compareTo(Object o) {
// TODO Auto-generated method stub
One one = (One)o;
if(one.age > this.age)
return -1;
else if( one.age < this.age)
return 1;
else
return 0;
}
}
大概這個意思 這是對象比較大小
對象數組同樣也這樣比較,數值數組直接循環比較就行
❾ 91*99,92*98,93*97,94*96,95*95,如何比較大小
採納的那個答案,真是大逗比,竟然把91*99改成(95-4)*(95+4)=95^2-4^2,真是笑死人了,到底是91*99容易,還是95^2-4^2容易?照你的演算法,直接計算器算不就行了,費那事幹嘛?如果數字改為9000001*9000999之間的對比,你那方法不要累死啊?數學都像你這么研究不如去死啊!那個長方形,正方形,人家好歹給做了矩形面積大小判定的思考方法了。這題全是數字,沒有涉及圖形,應該考的是函數。老師要的不是答案,是演算法!
可以假定y=(90+x)*(90+(10-x)),
化簡得出的二次函數是y=-x^2+10x+9000,
配方得到y=-(x-5)^2+9025,
這是一條開口向下的拋物線,y最大值是頂點,對稱軸為x=5,頂點是(5,9025)。
當x=5時,y值最大,最大值為9025。此時,2個數字是90+5和90+(10-5)的乘積,就是95*95。
數學只有兩點,第一點是求解,第二點是求證!
❿ 判斷3個數大小的 演算法
1.做差,和零比較大小
2.若兩數同號,作商,和1比較大小
3.找一個中間數,大於一個,小於零一個
4.如果長的樣子差不多,可以利用函數的單調性