题目要求
编写函数Normalize,将复数归一化,即若复数为a+bi
,归一化结果为a/sqrt(a*a+b*b)
+ i*b/sqrt(a*a+b*b)
。使用结构体指针类型作为函数参数可能是必要的。其中实部和虚部由键盘输入,输出为归一化结果,如果归一化结果的实部或虚部为小数的要求保留一位小数。
资源限制
- 时间限制:1.0s
- 内存限制:512.0MB
输入格式
第一行一个数表示数据组数
每组输入数据共2行:
第1行给出总共的数字的个数n和要取的数的个数m,1<=n<=m<=15,
第2行依次给出这n个数,其中每个数字的范围满足:a[i]的绝对值小于等于4。
输出格式
每组数据输出1行,为最大的乘积。
样例输入输出
样例输入
1
5 5
1 2 3 4 2
样例输出
48
代码
满分代码如下:
#include<iostream>
#include<stdio.h>
#include<math.h>
using namespace std;
int main(){
double a,b;
cin>>a>>b;
printf("%.1lf+",a/sqrt(a*a+b*b));
printf("%.1lfi",b/sqrt(a*a+b*b));
return 0;
}
原来一直在简书上写文章,第一次使用csdn,还是csdn功能更多,更方便,有时间会把简书上的文章全部搬运到csdn上。博主考研党,不定时更文,简书上有一些原来复习蓝桥杯和csp考试的时候自己写的代码。博主水品不高,使用的方法都是比较简单,通俗易懂的方法,使用的大部分都是暴力解法,适合刚学习编程的同学,有问题或者发现文章有什么不足欢迎留言,看到会及时回复并积极改正问题,欢迎留言。附文本的简书地址
博主的简书主页。可以找到一些基础的蓝桥杯和csp的题解。