a我考网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 93|回复: 1

[C++] 2012年计算机等级考试二级C++辅导讲义(3)

[复制链接]
发表于 2012-7-31 21:56:58 | 显示全部楼层 |阅读模式
 两个数论的算法   #include' Q/ _# Y+ ?6 }/ x/ L+ O
  using namespace std;- W$ H. R5 k0 D( _
  struct result9 ]: ?7 ?) \5 }+ T$ [* v. x. s
  {" k3 |6 K' n! p7 D( P) W8 }8 @3 r3 F
  int d;
2 j* W# _5 Z6 _5 V1 g  int x;
8 o' P& @6 E; M( Z0 Y: d" F  int y;
% M' _& ]+ `. I, J- I3 W3 q$ t  };% e) @  e; ~' |
  //d=gcd(a,b)=ax+by
5 k3 b2 Q: b4 Y  result ExtendeEuclid(int a,int b)
, b6 e' p6 N/ ~( B  {" r6 F% t3 T" L, s1 u% k$ O
  result res;  w1 g2 C2 y: `% `+ e1 ?
  if(!b). d: W1 @6 z% ^) E( [
  {
3 ?, Z" ~' P( V2 N" }0 W  res.d=a;
1 }8 S* f/ o4 V! K2 e  res.x=1;
7 v6 p0 e1 Y. H" n% v" N( b$ O  res.y=0;7 `/ M1 J  j0 z  v
  return res;2 f6 R& v8 a5 U+ {+ ^( f
  }; ?2 W' C7 M0 F) H; {' W- a
  result temp=ExtendeEuclid(b,a%b);
' P% a8 Y# l* W  res.d=temp.d;' [6 n; X/ |" M4 ^6 S/ Q
  res.x=temp.y;  n3 V( i9 ]! o4 X
  res.y=temp.x-a/b*temp.y;
+ ]2 M6 Q8 y- O9 d: {, k  return res;
% g- k; T+ k+ e# F  D9 u' S2 P0 c: L  }
: f# n9 B& s& W- A& P* }) ?  inline long mod(long a,long b)& V% ?, Q9 D5 @1 ~' ^5 A
  {
4 S4 v! R& h% P4 `* a" s1 G& D& d  return (a%b+b)%b;, \9 u9 @6 I! y, ~6 i% z
  }
- ?8 B1 T5 L4 E. q8 d: s  //计算满足ax和b关于n同余的x
5 r+ E- t( D" |, `$ h( P: S3 Y  void ModularLinearEquationSolver(int a,int b,int n)
( I' N0 v) M4 ?+ w& Q: ]5 k; z& a  {& `) t1 i/ o3 A

8 c/ s. l" d6 t- j/ n  if(a
回复

使用道具 举报

 楼主| 发表于 2012-7-31 21:56:59 | 显示全部楼层

2012年计算机等级考试二级C++辅导讲义(3)

</p>) w! Q! J( v0 m- z. }8 T5 k
  cout
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Woexam.Com ( 湘ICP备18023104号 )

GMT+8, 2024-5-4 14:55 , Processed in 0.402311 second(s), 23 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表