Re: [wizs] 申請QC
看板mud_sanc (Sanctuary - 聖殿)作者laechan (小太保)時間15年前 (2011/03/03 10:40)推噓1(1推 0噓 0→)留言1則, 1人參與討論串4/13 (看更多)
※ 引述《justinj (闇冥)》之銘言:
: 在31的 /u/j/justinj/area/math/
: room/test/,question2.h的不用管它
: 寫的時候發現原來#define也有上限..
: 迪菲爾大陸寫不完,先寫小區域來..amem
取餘數使用的運算元是 %
例如 10除以3 餘數多少就是用 10%3 去得到.
聯立方程式問題, 若是簡單的二元一次聯立方程式, 例如..
1a + 1b = 30 mixed f = ({ ({ 1,1,30 }),
2a + 4b = 62 ({ 2,4,62 }) });
將 f 傳去解聯立方程式專用的 sf 函數, 如下.
下面的函數, 是將第一式先乘以 2, 第二式先乘以 1, 這就變成
2a + 2b = 60
2a + 4b = 62
再將 2b 跟 4b 的 2 跟 4 相減、60 跟 62 相減, 各得到 2 跟 2
這時計算 b = 2 / 2 = 1
再計算 a = (60 - 2*1) / 2 = 29
然後回傳 ({ 29, 1 })
mixed sf(mixed f)
{
int f1=f[0][0], f2=f[1][0];
int i,j,k,a,b;
for(i=0;i<3;i++)
{
k=f[0][i];
k=k*f2;
f[0][i]=k;
}
for(i=0;i<3;i++)
{
k=f[1][i];
k=k*f1;
f[1][i]=k;
}
i=f[1][1]-f[0][1];
j=f[1][2]-f[0][2];
b=j/i;
a=(f[0][2] - f[0][1]*a)/f2;
return ({a,b});
}
上面改良一下也可以解單純的 N元一次聯立方程式.
直角三角型問題, 最好說明一下給的兩邊是否有斜邊, 可簡化為
求斜邊(即特定邊)是比較適當的方式, 則問題簡化如下..
int c = sqrt(a^2 + b^2);
求最大公因數問題可使用輾轉相除法, 利用遞迴 or while 迴圈
來寫.
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 115.80.210.242
推
03/03 10:59, , 1F
03/03 10:59, 1F
討論串 (同標題文章)
mud_sanc 近期熱門文章
PTT遊戲區 即時熱門文章
21
49