1. 程式人生 > >藍橋杯 演算法提高 ADV-94 複數歸一化

藍橋杯 演算法提高 ADV-94 複數歸一化

演算法提高 複數歸一化
時間限制:1.0s 記憶體限制:512.0MB
編寫函式Normalize,將複數歸一化,即若複數為a+bi,歸一化結果為a/sqrt(aa+bb) + ib/sqrt(aa+b*b) 。使用結構體指標型別作為函式引數可能是必要的。其中實部和虛部由鍵盤輸入,輸出為歸一化結果,如果歸一化結果的實部或虛部為小數的要求保留一位小數。
樣例輸入:(格式說明:3 4 分別為以空格隔開的實數的實部和虛部)
3 4
樣例輸出:
0.6+0.8i
樣例輸入:
2 5
樣例輸出:
0.4+0.9i

分析:這道題直接使用題中所給公式就好啦。程式碼如下:

#include <iostream>
#include <cmath>
using namespace std;

int main()
{
	double a, b;
	cin >> a >> b;
	printf("%.1lf+%.1lfi", a/sqrt(a*a+b*b), b/sqrt(a*a+b*b));
	return 0;
}