找回密码
 注册
关于网站域名变更的通知
查看: 927|回复: 1
打印 上一主题 下一主题

求一个数的真因数。

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2020-5-21 11:21 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
' t" K) Q* i- A  f# `8 d

# m* q9 d8 j/ k  N8 g8 }这个是一个函数,求一个数的真因数, N0 C( z6 @: W0 k! e) t
function y=myfun(n)+ n+ T, Z. r5 N& T0 S. l2 Q
   y1=[];" \2 [& \' d+ P6 ^7 Y' e& B1 F
   for i=1:fix(n/2);* P7 n6 p- h+ ~. E- P+ x
       if mod(n,i)==0;
% v" V; l; Q. F& c9 u           y1=[y1,i,n/i];1 \1 L- h) ?* S2 ~
       end) T0 m5 Z- }" z0 A0 o
   end& L! B8 Z( g8 F) N: [3 E+ m  @8 L6 P2 [
   y=unique(y1);   0 ?8 Y5 ^; p' y' |
end! O' m5 K+ q) z# v& Y
然后我用这个函数求1到1000的亲和数对3 x0 R' o% Y! H2 |
for  a=1:10000;
1 N/ k/ U+ f2 o' p5 a; x$ U
# d+ y3 g  |, w* K    b=sum(myfun(a)); %求a的真因数和  为b1 O, J) S) l# V: I9 ]

. s9 I/ Z) Q' ^0 l0 {, y" r) i9 `    c=sum(myfun(b)); %求b的真因数和
' h& O: k5 g5 G# _
0 c' [! E: g- {, D) K      if   c==a  7 d! e; \3 p: P% `& ^- C2 l
9 Y' [2 ?+ n+ B
          disp(a)                 %如果a的真因数和b的真因数相等  则输出a
; _% {6 c+ V9 l- W5 d$ ~. q. E$ g; @& Q+ ]
      end/ O# x" \1 b8 v8 C4 R% x0 O  X/ _
" w1 U0 }. P6 q) D; }$ q+ o
end
$ k' e. V* i7 ]( o
7 M! C+ A, i8 k. b, m  ]0 r$ E1 T
# j' x, X. G! u2 j/ V
% [7 `  P5 [5 Q3 r) c' B2 t9 L: D7 I3 T0 U3 g. K
    但是他不输出任何数,
8 L; t: j7 }* o/ c% _0 c/ g/ u附上亲和数对
0 \$ Y* X" V& G亲和数是这样一对正整数a和b,使得a的所有真因子的和等于b,而b的所有真因子的和等于a。
% ~5 w1 l# Z- B+ ?2 D就是220的真因子是1、2、4、5、10、11、20、22、44、55、110,它们的和是284;284的真因子是1、2、4、71、142,其和恰好是220。这是一对亲和数。# u3 y; u" C2 n1 w9 y" W; {' t/ D
请教大神,非常感谢!

该用户从未签到

2#
发表于 2020-5-21 13:22 | 只看该作者

6 I' t4 W( Z3 G6 J! q2 d3 Z( u你可以用sum函数,另外i增大时会和此前的n/i数值上发生重复,直接去掉后者
. |2 {! B* Z2 K& }8 ?* x- l改成
& R6 w7 o* X; ry1 = [];; a4 D% r% ?9 X# v2 }' ]
for i = 1:fix(n/2)
7 n% A8 V( {: k! J- Z   if mod(n,i) == 0
7 W0 Z" e, N% |       y1 = [y1,i];. J% x3 w. e4 y; q4 c
   end
0 J( x  T2 d! e7 oend, i  R6 h* l; S( K8 O- M0 \
y = sum( unique(y1) );   ' l4 C9 A# w  `2 V0 `5 @7 h8 D5 x
end
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-10-8 01:44 , Processed in 0.109375 second(s), 24 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

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