问题 解答题
已知复数z满足|z|=
2
,z2的虚部为2.
(1)求复数z;
(2)设z,(
.
z
)
2
,z-z2在复平面上的对应点分别为A,B,C,求△ABC的面积;
(3)若复数z在复平面内所对应的点位于第一象限,且复数m满足|m-z|=1求|m|的最值.
答案

(1)设Z=x+yi(x,y∈R)

由题意得Z2=(x-y)2=x2-y2+2xyi

x2+y2
=
2
(1)
2xy=1(2)

故(x-y)2=0,∴x=y将其代入(2)得2x2=2,

∴x=±1

x=1
y=1
x=-1
y=-1

故Z=1+i或Z=-1-i;

(2)当Z=1+i时,Z2=2i,Z-Z2=1-i

所以A(1,1),B(0,2),C(1,-1)

|AC|=2,S△ABC=

1
2
×1×2=1

当Z=-1-i时,(

.
z
)2=-2i,Z-Z2=-1-3i,A(-1,-1),B(0,-2),C(-1,3)

S△ABC=

1
2
×1×2=1.

(3)由题知,z=1+i

设m=c+di,则m-z=(c-1)+(d-1)i

|m-z|=1,

∴(c-1)2+(d-1)2=1

则复数m在复平面内所对应的点为M的轨迹为(1,1)为圆心,1为半径的圆

所以|m|min=

2
-1,|m|max=
2
+1

多项选择题

【说明】
以下【C++程序】用于实现两个多项式的乘积运算。多项式的每一项由类Item描述,而多项式由类List描述。类List的成员函数主要有:
createList():创建按指数降序链接的多项式链表,以表示多项式:
reverseList():将多项式链表的表元链接顺序颠倒:
multiplyList(ListL1,ListL2)计算多项式L1和多项式L2的乘积多项式。
【C++程序】
#include <iostream.h>
class List;
class Item
friend class List;
private:
double quot ;
int exp ;
Item *next;
Public:
Item(double_quot,int_exp)
(1) ;
;
class List
private:
Item *list;
Public:
List()
list=NULL:

void reverseList();
void multiplyList(List L1,List L2);
void createList();
;
void List::createList()
Item *p,*U,*pre;
int exp;
double quot;
list = NULL;
while (1)
cout << "输入多项式中的一项(系数、指数) :" << endl;
cin >> quot >> exp:
if ( exp<0 )
break ; //指数小于零,结束输入
if ( quot=0 )
continue;
p = list;
while ( (2) ) //查找插入点
pre = p;
p = p->next;

if ( p != NULL && exp = p->exp )
p->quot += quot;
continue ;

u = (3) ;
if (p == list)
list = u;
else
pre->next = u;
u ->next = p;
void List::reverseList()
Item *p, *u;
if ( list==NULL )
return;
p = list ->next;
list -> next = NULL;
while ( p != NULL)
u = p -> next;
p ->next = list;
list = p;
p = u;
void List::multiplyList ( List L1, List L2 )
Item *pL1,*pL2,*u;
int k, maxExp;
double quot;
maxExp = (4) :
L2.reverseList();
list=NULL;
for ( k = maxExp;k >= 0;k-- )
pL1 = L1.list;
while ( pL1 != NULL && pL1 -> exp > k )
pL1 = pL1 ->next;
pL2 = L2.1ist;
while (pL2 NULL && (5) )
pL2 = pL2 -> next;
quot = 0.0;
while (pL1 != NULL && pL2 != NULL)
if(pL1->exp+pL2->exp==k)
(6)
pL1 = pL1 -> next;
pL2 = pL2 -> next;
else if ( pL1 -> exp + pL2 -> exp > k )
pL1 = pL1 -> next;
else
pL2 = pL2 -> next;

if ( quot !=0.0 )
u = new item( quot, k );
u -> next = list;
list = u;


reverseList ();
L2. reverseList ():void main()
List L1,L2,L;
cout << "创建第一个多项式链表\n";
L1.createList();
cout << "创建第二个多项式链表\n";
L2.createList();
L.multiplyList (L1,L2);

单项选择题