竹園論壇

標題: [排名賽]A.伊布的邀請 [打印本頁]

作者: Panda_Liu    時間: 2014-8-3 20:18
標題: [排名賽]A.伊布的邀請
本帖最後由 Panda_Liu 於 2014-8-4 22:33 編輯

A.伊布的邀請http://toj.tfcis.org/oj/pro/70/
解法討論
複數運算公式:
加法: (a+c)+(b+d)i


減法: (a-c)-(b-d)i


乘法: (a*c-b*d)+(b*c+a*d)i


除法: ((a*c+b*d)/(c*c+d*d))+((b*c-a*d)/(c*c+d*d))i












by: Panda Liu(已AC)



作者: Sylveon    時間: 2014-8-3 22:00
不錯歐,下周日練習賽破台的希望,可以來試試這一題,看看不同的題型
(或者是把這一系列的BCDEFGH都看過一遍)
http://toj.tfcis.org/oj/pro/59/

跟大家補充一下,C++內建複數運算,如果知道有這東西的話可以偷用,不用推公式,C++很強大的
(簡體字)
http://book.51cto.com/art/200907/134764.htm
作者: 零人桐    時間: 2014-8-3 22:23
我抓到錯誤嘞~~



以下為一範例演示:
地圖1 與 地圖2 分別為兩張巨人分布圖

地圖1     地圖2
00011     01100
01011     10011
11101     11111

地圖3
11100
10100
00010
地圖4
01100
10000(是01100才對)
00010(是00000才對)

經過一連串操作後得到地圖X

地圖X(error)
01111
11000(11011)
00010(11111)



作者: Brad    時間: 2014-8-3 22:28
零人桐 發表於 2014-8-3 22:23
我抓到錯誤嘞~~

沒錯吧
我寫這題看過好幾次了
作者: 零人桐    時間: 2014-8-4 19:46
零人桐 發表於 2014-8-3 22:23
我抓到錯誤嘞~~

不是地圖3跟4的嗎??

作者: 零人桐    時間: 2014-8-4 19:52
那我問一下:
怎麼寫?
(你的寫法是......?)
作者: 零人桐    時間: 2014-8-4 20:43
請問一下:
虛數部分是什麼??
很急啊!
寫這題已經寫至少1hr了啦!!!
作者: 零人桐    時間: 2014-8-4 20:44
再次請問一下:
i是啥?
作者: Brad    時間: 2014-8-4 20:50
i = 根號-1
將實數部份  虛數部份 分開個別計算即可
作者: 零人桐    時間: 2014-8-4 21:25
各位學長(或用戶):
幫我抓一下BUG啦!
抓了很久都抓不到......
HELP----

零人桐

以下為程式碼:


#include<iostream>
#include<iomanip>
#include<complex>
using namespace std;
int main()
typedef struct tagxcompolex
{
    double real;
    double img;
}
xComplex;
{
        exp(i sita) : exp( i sita) = cos(sita) + i sin(sita)
        int R1,R2,I1,I2,z1,z2;
        z1 = R1 + i(I1);
        z2 = R2 + i(I2)
        Real(z1) = R1;
        Img(z1) = I1;
        Real(z2) = R2;
        Img(z2) = I2;
        cin>>R1>>I1>>D>>R2>>I2;
        cout<<fixed<<setprecision(2);

        int comp_add(xComplex *rst,
                const xComplex z1,
                const xComplex z2);
        // ---------------------------------
        // rst+=z
        int comp_adds(xComplex *rst,
                        const xComplex z);
        cout<<z1<<D<<z2<<endl;
        // ---------------------------------
        // 減法運算
        int comp_sub(xComplex *rst,
                        const xComplex z1,
                        const xComplex z2);
        // ---------------------------------
        // rst-=z
        int comp_subs(xComplex *rst,
                        const xComplex z);
        cout<<z1<<D<<z2<<endl;
        // ---------------------------------
        // 乘法運算
        int comp_mul(xComplex *rst,
                        const xComplex z1,
                        const xComplex z2);
        // ---------------------------------
        // rst*=z
        int comp_muls(xComplex *rst,
                        const xComplex z);
        cout<<z1<<D<<z2<<endl;
        // ---------------------------------
        // 除法運算
        int comp_div(xComplex *rst,
                        const xComplex z1,
                        const xComplex z2,
                        const double eps);
        // ---------------------------------
        // rst*=z
        int comp_muls(xComplex *rst,
                        const xComplex z);
        cout<<z1<<D<<z2<<endl;



        return 0;
}


作者: Sylveon    時間: 2014-8-4 21:59
都說C++有內建了~

[C++] 純文本查看 復制代碼
#include<iostream>
#include<complex>
#include<iomanip>
#include<cmath>
using namespace std;

int main(){
    complex<double>a,b;
    double img,real;
    char d;
    cin>>img>>real;
    a = complex<double>(img,real);
    cin>>d;
    cin>>img>>real;
    b = complex<double>(img,real);
    switch(d){
        case'+':a+=b;break;
        case'-':a-=b;break;
        case'*':a*=b;break;
        case'/':a/=b;break;
    }
/**/
}



作者: Panda_Liu    時間: 2014-8-4 22:28
把i當做文字就好ㄌ~
作者: 零人桐    時間: 2014-8-5 10:09
感謝各位大大的回覆!
作者: 零人桐    時間: 2014-8-5 10:13
吼!
就算是布林代數也教一下罵!





歡迎光臨 竹園論壇 (http://forum.tfcis.org/) Powered by Discuz! X3.2