Board logo

主題: [C&C++] 指數與開根號怎麼算? [打印本頁]

發表人: hjw930    時間: 2008-11-27 07:52 PM     主題: 指數與開根號怎麼算?

指數可以連乘或用迴圈計算
但開根號請問怎麼辦??

如果不用連乘或迴圈
要怎麼用單一算式表達指數跟開根號??
(例如 2X+3Y 是用 2*X + 3*Y 表達一樣)

另外有個問題
如果 table 資料表有下列內容
業務名稱     銷售商品     單價     數量
甲             A                5          15
甲             B                10        10
乙             A                5          10
乙             B                10        3
乙             C                3          10

如何用 SQL 指令找出甲跟乙兩個人誰的業績(單價*數量)高?
發表人: greensky    時間: 2008-11-27 09:09 PM

這些都 google 的到吧,math.h 就是用來處理數學計算的。

SQL 的問題應該用 SQL 提供的 API 來取值計算。
發表人: hjw930    時間: 2008-11-28 08:20 AM

但我看到的都是用函式
似乎沒辦法用簡單的算式來表達
我原本以為 ^ 可以
後來才發現在C裡^代表的是位元
跟指數無關....
發表人: Saint1111    時間: 2008-11-28 03:08 PM

#include <cmath>
    double sqrt( double num );

The sqrt() function returns the square root of num. If num is negative, a domain error occurs.

reference from :http://www.cppreference.com/wiki/c/math/sqrt
發表人: leacks    時間: 2008-11-30 09:05 PM

^印象中是xor

樓上算正解(因為不知道樓主是啥語言,有沒有該"cmath")
發表人: dayi    時間: 2008-11-30 11:08 PM

sql 提示
要用max 和 group by
發表人: 瘋神    時間: 2009-1-20 12:44 AM

所以到底是問C還是問SQL呢?

如果是C的話

開根號是用sqrt()函式

指數是用pow()

sqrt就直接放變數或是數字就可以了

pow要放兩個數字,前面是要開次方的變數或是數字,後面則是要開的次方

也就是假如是X要開12次方

那程式碼就是pow(x,12);

很久沒用了...如果大大們有看到不對麻煩指正謝謝!
發表人: charleshwu    時間: 2009-9-7 10:14 PM

因該 sql 需要 sub-query in another result set,
標準的 SQL 並不支援,因此需要各家SQL Server的延伸語法

Oracle的寫法 ( 現在手邊沒 oracle server 可以試, 不過應該大致上沒錯 )
select * from (select sum(單價*數量) as subtotal,業務名稱 from xxtable group by 業務名稱) order by subtotal
發表人: Jackie    時間: 2009-9-8 11:39 AM

開根號?
如果不爽用sqrt()這個函式的話
可以參照牛頓法
微積分課程應該會教到這個方法
用程式語言實作相當容易
事實上有可能libc/msvcrt裡面也是用這個方法實作也說不定




歡迎光臨 TWed2k (http://twed2k.org/) Powered by Discuz! 4.1.0