复数

数据结构绪论

时光总嘲笑我的痴心妄想 提交于 2020-04-04 08:59:15
/*--> */ /*--> */ 数据结构:问题的数学模型,是指互相之间存在着一种或多种特定关系的数据元素的集合 算法:求解问题的策略,操作步骤 /*--> */ /*--> */ 物理(存储)结构:数据结构在计算机中的表示 设计数据结构的存储结构时要存放所有数据元素的值和他们之间的逻辑关系 2种存储结构: 顺序存储映像—顺序存储结构借助数据元素在存储器中的相对位置来表示数据元素之间的逻辑关系 非顺序存储映像—链式存储结构借助指示数据元素存储地址的指针来表示数据元素之间的逻辑关系 /*--> */ /*--> */ 抽象数据类型(Abstract Data Type 简称ADT) :是指一个数学模型以及定义在此数学模型上的一组操作。 (D, R, P)三元组表示 : D是数据对象 R是D上的关系的集合 P是D上的操作的集合 定义格式: /*--> */ /*--> */ ADT抽象数据类型名 { 数据对象:〈数据对象的定义〉 数据关系:〈数据关系的定义〉 基本操作:〈基本操作的定义〉 } ADT抽象数据类型名 eg: ADT Complex { 数据对象:D={e1,e2|e1,e2∈RealSet} 数据关系:R1={ (e1,e2)| e1是实数部分 , e2 是复数的虚数部分 } 基本操作: AssignComplex( &Z, v1, v2 ) 操作结果:构造复数 Z

python内置函数

╄→гoц情女王★ 提交于 2020-03-18 14:43:21
1、逻辑判断 all(iterable) -> bool 1、集合中的元素都为真时,返回true;2、特别的,集合为空,返回值为true any(iterable) -> bool 1、集合中有1个元素为真,就返回true;2、特别的,集合为空,返回false 2、数学运算类 函数名 函数功能 备注 abs(number) -> number 求绝对值 1、参数可以是整形,也可以是复数;2、参数为复数,则返回复数的模 divmod(x, y) -> (div, mod) 求商和余数 注意:整形和浮点型都可以 complex(real[, imag]) -> complex number 创建一个复数 complex还有1个方法conjugate:(3-4j).conjugate() == 3+4j 来源: https://www.cnblogs.com/Will-guo/p/6411826.html

复数学习笔记1

为君一笑 提交于 2020-03-18 11:53:14
复数有毒。。。(不过貌似数学得学) 定义 在实数域上定义二元有序对z=(a,b),并规定有序对之间有运算"+"、"×" (记z 1 =(a,b),z 2 =(c,d)): z 1 + z 2 =(a+c,b+d) z 1 × z 2 =(ac-bd,bc+ad) 容易验证,这样定义的有序对全体在有序对的加法和乘法下成一个域,并且对任何复数z,有 z=(a,b)=(a,0)+(0,1)×(b,0) 令f是从实数域到复数域的映射,f(a)=(a,0),则这个映射保持了实数域上的加法和乘法,因此实数域可以嵌入复数域中,可以视为复数域的子域。 记(0,1)=i,则根据我们定义的运算,(a,b)=(a,0)+(0,1) × (b,0)=a+bi,i × i=(0,1) × (0,1)=(-1,0)=-1,这就只通过实数解决了虚数单位i的存在问题。 概念 形如 的数称为复数,其中规定i为虚数单位,且 (a,b是任意实数) 我们将复数 中的实数a称为复数z的实部,记作Rez=a,实数b称为复数z的虚部,记作 Imz=b。 当a=0且b≠0时,z=bi,我们就将其称为 纯虚数 。 复数的集合用 C 表示,实数的集合用 R 表示,显然, R 是 C 的真子集。 复数集是无序集,不能建立大小顺序。 复数的模 对于复数 ,它的模 运算法则 加法法则 几何意义:坐标为a,b代表a+bi

复数集合(优先队列 priority_queue,相关top push pop操作)(重载小于号运算符)

混江龙づ霸主 提交于 2020-03-17 10:46:28
题目描述 一个复数(x+iy)集合,两种操作作用在该集合上: 1、Pop 表示读出集合中复数模值最大的那个复数,如集合为空 输出 empty ,不为空就输出最大的那个复数并且从集合中删除那个复数,再输出集合的大小SIZE; 2 Insert a+ib 指令(a,b表示实部和虚部),将a+ib加入到集合中 ,输出集合的大小SIZE; 最开始要读入一个int n,表示接下来的n行每一行都是一条命令。 输入描述: 输入有多组数据。 每组输入一个n(1<=n<=1000),然后再输入n条指令。 输出描述: 根据指令输出结果。 模相等的输出b较小的复数。 a和b都是非负数。 示例1 输入 复制 3 Pop Insert 1+i2 Pop 输出 复制 empty SIZE = 1 1+i2 SIZE = 0 #include <iostream> #include <queue> using namespace std; typedef struct Complex { int real; int imag; // 重载小于号 // operate 不对, 是 operator!! bool operator < (Complex a)const { if (real * real + imag * imag == a.real * a.real + a.imag * a.imag) {

1051 复数乘法

ⅰ亾dé卋堺 提交于 2020-03-10 04:36:07
1051 复数乘法 (15 分) 复数可以写成 (A+Bi) 的常规形式,其中 A 是实部,B 是虚部,i 是虚数单位,满足 i​2​​=−1;也可以写成极坐标下的指数形式 (R×e​(Pi)​​),其中 R 是复数模,P 是辐角,i 是虚数单位,其等价于三角形式 (R(cos§+isin§)。 现给定两个复数的 R 和 P,要求输出两数乘积的常规形式。 输入格式: 输入在一行中依次给出两个复数的 R​1​​, P​1​​, R​2​​, P​2​​,数字间以空格分隔。 输出格式: 在一行中按照 A+Bi 的格式输出两数乘积的常规形式,实部和虚部均保留 2 位小数。注意:如果 B 是负数,则应该写成 A-|B|i 的形式。 输入样例: 2.3 3.5 5.2 0.4 输出样例: -8.68-8.23i 这题的坑主要在于应为输出的截断问题,float型对0的判断要用范围来判断,不然后面两个测试点过不去 # include <iostream> # include <cmath> using namespace std ; double m , n , p , q , a , b , c , d , res1 , res2 ; int main ( ) { cin >> m >> n >> p >> q ; a = m * cos ( n ) ; b = m * sin ( n ) ;

高等代数笔记1:基础知识

∥☆過路亽.° 提交于 2020-03-01 08:14:10
复数和数域 首先,我们要引入复数,实际上,我们在中学数学中已经接触过复数了,我们知道,实数域的加法和乘法有如下性质: (1)(加法交换律) a + b = b + a a+b=b+a a + b = b + a (2)(加法结合律) a + b + c = a + ( b + c ) a+b+c=a+(b+c) a + b + c = a + ( b + c ) (3)(存在零元) 0 + a = a 0+a=a 0 + a = a (4)(存在相反元) ( − a ) + a = 0 (-a)+a=0 ( − a ) + a = 0 (5)(乘法交换律) a b = b a ab=ba a b = b a (6)(乘法结合律) a b c = a ( b c ) abc=a(bc) a b c = a ( b c ) (7)(存在单位元) 1. a = a 1.a=a 1 . a = a (8)(存在逆元) a ≠ 0 , a ( 1 a ) = 1 a\neq 0,a(\frac{1}{a})=1 a  ​ = 0 , a ( a 1 ​ ) = 1 (9)(分配律) a ( b + c ) = a b + a c a(b+c)=ab+ac a ( b + c ) = a b + a c 我们知道,为了研究一元多次方程的根,实数域是远远不够的。如方程 x 2 + 1 = 0

REST URI约定-创建资源时的单数或复数名称

可紊 提交于 2020-02-28 03:00:30
我是REST的新手,我注意到在某些RESTful服务中,它们使用不同的资源URI进行更新/获取/删除和创建。 如 创建-使用POST方法,使用 /资源 (观察复数),使用 /资源 有些地方(单数) 更新-使用 / resource / 123 和PUT方法 获取-将 / resource / 123 与GET方法一起使用 我对此URI命名约定有点困惑。 我们应该使用复数还是单数来创建资源? 决定的标准是什么? #1楼 尽管最普遍的实践是使用复数的RESTful api,例如 /api/resources/123 ,但在一种特殊情况下,我发现使用单数名称比复数名称更合适/更具表达性。 一对一的关系就是这种情况。 特别是如果目标项目是值对象(在域驱动设计范式中)。 让我们假设每个资源都有一对一的 accessLog ,可以将其建模为值对象,即不是实体,因此没有ID。 它可以表示为 /api/resources/123/accessLog 。 常用动词(POST,PUT,DELETE和GET)会适当地表达意图,并且也表明这种关系确实是一对一的。 #2楼 为什么不遵循通常接受单数形式的数据库表名称的流行趋势? 到那里,做完了-让我们重复使用。 表命名难题:单数与复数名称 #3楼 对我来说,最好有一个可以直接映射到代码的模式(易于自动化),这主要是因为代码将是两端。 GET /orders

ZZULIOJ 1156: 单数变复数

陌路散爱 提交于 2020-02-27 20:22:46
题目描述 输入一个名词英语单词,按照英语语法规则把单数变成复数。规则如下: (1) 以辅音字母y结尾,变y为i,再加es; (2) 以s, x, ch, sh结尾,则加es; (3) 以元音o结尾,则加es; (4) 其他情况加上s。 输入 输入一个字符串,仅含小写字母,长度不超过20。 输出 输出其对应的复数形式。 样例输入 Copy butterfly 样例输出 Copy butterflies #include<stdio.h> #include<string.h> int main(){ char str[22],i=0,res[30]; memset(res,0,sizeof(char)*30); gets(str); i=strlen(str); if(str[i-1]=='y'){ str[i-1]='i'; strcpy(res,str); strcat(res,"es"); }else if(str[i-1]=='s'||str[i-1]=='x'||(str[i-1]=='h'&&(str[i-2]=='c'||str[i-2]=='s'))){ strcpy(res,str); strcat(res,"es"); }else if(str[i-1]=='o'){ strcpy(res,str); strcat(res,"es"); }else{ strcpy

复数运算(C++实现)

放肆的年华 提交于 2020-02-15 10:14:36
实验目的 了解运算符重载的实际意义。 掌握运算符重载的规则。 熟悉多种运算符重载的实际应用。 实验内容 题目 :定义复数类Complex,利用运算符重载实现复数的加、减、乘、除四则运算。 要求 : 复数类包括实部( r e a l real r e a l )和虚部( i m a g e image i m a g e )两个数据成员,可以分别读取、设置和输出。 每个运算测试 3 3 3 组数据。 注意程序的健壮性,如除零操作。 原理 : 加法规则, ( a + b i ) + ( c + d i ) = ( a + c ) + ( b + d ) i (a+bi)+(c+di)=(a+c)+(b+d)i ( a + b i ) + ( c + d i ) = ( a + c ) + ( b + d ) i 。 减法规则, ( a + b i ) − ( c + d i ) = ( a − c ) + ( b − d ) i (a+bi)-(c+di)=(a-c)+(b-d)i ( a + b i ) − ( c + d i ) = ( a − c ) + ( b − d ) i 。 乘法规则, ( a + b i ) ∗ ( c + d i ) = ( a c − b d ) + ( a d + b c ) i (a+bi)*(c+di)=(ac-bd)+(ad+bc)i ( a

P1051复数乘法

蓝咒 提交于 2020-02-10 20:30:45
P1051复数乘法 转跳点: 🐏 1051 复数乘法 (15分) 复数可以写成 ( A + B i ) 的常规形式,其中 A 是实部, B 是虚部, i 是虚数单位,满足 i ​2​​=−1;也可以写成极坐标下的指数形式 ( R × e ​( P i )​​),其中 R 是复数模, P 是辐角, i 是虚数单位,其等价于三角形式 R (cos( P )+ i sin( P ))。 现给定两个复数的 R 和 P ,要求输出两数乘积的常规形式。 输入格式: 输入在一行中依次给出两个复数的 R ​1​​, P ​1​​, R ​2​​, P ​2​​,数字间以空格分隔。 输出格式: 在一行中按照 A+Bi 的格式输出两数乘积的常规形式,实部和虚部均保留 2 位小数。注意:如果 B 是负数,则应该写成 A-|B|i 的形式。 输入样例: 2.3 3.5 5.2 0.4 输出样例: -8.68-8.23i 复数乘法?!!这么简单……,一定有鬼,果然一看就有问题通过率这么低,总不可能是小学生刷出来的吧,又不是打王者……一看题目最后包留两位小数,好了,C语言截断问题,真毒…… AC思路: 求两复数数乘积,当然是在极坐标系比较容易(赶紧装一波,数学不好公式自己推咯),最后极坐标转直角坐标即可。 公式推导手稿 接着就是这道题的“坑”了。虽然 C语言的格式化输出能正常四舍五入