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

求一个数的真因数。

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
+ q5 P$ _/ z6 W8 o

. ^' C" L0 x- h这个是一个函数,求一个数的真因数
1 W- u4 A: u2 p2 I9 B$ yfunction y=myfun(n)
# W3 P" t, o0 R3 D* m- C   y1=[];+ [  D; u# C' ?6 V
   for i=1:fix(n/2);
$ k1 e5 y" ]" s9 }: l1 k       if mod(n,i)==0;0 U$ B( B- C: D0 x# u( m/ _6 ~
           y1=[y1,i,n/i];4 Z, \1 s9 a. l9 b: @
       end8 w9 e$ k3 N' P' R
   end
2 X  O3 D/ L( }( F   y=unique(y1);   ) @( i% C! o; Y* c& m( q' p( P
end
( C+ P8 o8 h3 A- F! R  X然后我用这个函数求1到1000的亲和数对+ ~1 R5 s7 V# r5 n0 l
for  a=1:10000;
/ r$ z; D9 i# A5 K# v7 E6 h) R* y. }8 J8 k4 z) g9 V
    b=sum(myfun(a)); %求a的真因数和  为b
2 ]# H3 Z' h' p4 n6 o6 O+ {  R0 {: _8 u& Y& c! X
    c=sum(myfun(b)); %求b的真因数和$ i, f8 t. e4 X& Y
7 _0 k$ |$ K2 n- |
      if   c==a  / j: w6 r) T; }" x8 m. e, D8 h+ ?
+ ]- e) M6 F, X3 y/ g
          disp(a)                 %如果a的真因数和b的真因数相等  则输出a
# K9 Y0 W9 r; v# j  R3 f4 l$ h, t$ G& [7 h2 p; M6 R/ s7 e
      end) e8 A: k# c! ^! O3 Q- T% ^1 w2 w

# v; I5 H7 B( {' Q4 _6 Dend
9 G2 L0 z1 n; ^2 r. X$ G" L0 G( d
- ~' `$ K1 N/ J! T! `

1 o- |3 `( i2 I) Y3 u( O( _) K# D, ^0 m
    但是他不输出任何数,
* |' D$ {4 k- O: q* A. q附上亲和数对, e, K; B' r. v3 W+ {- Z5 Q1 j
亲和数是这样一对正整数a和b,使得a的所有真因子的和等于b,而b的所有真因子的和等于a。; T- C6 r8 b# H8 }% _
就是220的真因子是1、2、4、5、10、11、20、22、44、55、110,它们的和是284;284的真因子是1、2、4、71、142,其和恰好是220。这是一对亲和数。8 w" n# V9 D1 M& G- b' L" ~% N
请教大神,非常感谢!

该用户从未签到

2#
发表于 2020-5-21 13:22 | 只看该作者
' `/ M) S8 O) _" f1 g/ z0 ^
你可以用sum函数,另外i增大时会和此前的n/i数值上发生重复,直接去掉后者
, g" W; X' ]( V0 Z( P, B3 k改成
8 O7 Y7 k$ ^8 dy1 = [];
/ q" G1 R+ p( Jfor i = 1:fix(n/2)9 J! D/ W& d; C# M# u2 f3 \+ a
   if mod(n,i) == 0
+ u& G1 `- Q( G3 a3 Y& @* ^       y1 = [y1,i];
# Y5 {! I0 \5 A5 P" ~9 @' Q   end/ @7 S- C) y/ P" J8 x* ~6 N
end
2 b- ^' F: W; i/ B( D& {y = sum( unique(y1) );   
! X0 L# g4 s( o: C& w7 send
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-11-23 22:09 , Processed in 0.171875 second(s), 24 queries , Gzip On.

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

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

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