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

求一个数的真因数。

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x

! k" B7 X8 E* s$ [$ B8 X9 }4 t* J7 y9 @  g, B- U
这个是一个函数,求一个数的真因数
4 `  D+ H( Y0 Q5 x' ~% nfunction y=myfun(n)
$ E: L1 v: R* @- a9 s( a   y1=[];. R8 p/ s9 j9 w# V
   for i=1:fix(n/2);
0 ]$ A- f, h' \. P* t       if mod(n,i)==0;+ {" i2 p; Z& B3 G* K" A
           y1=[y1,i,n/i];7 P; x( S( R9 g) c$ L! M
       end
  ^* R6 x- `0 l   end
4 o/ _+ D: l" f- u( q3 \   y=unique(y1);   
4 v1 h5 a, q! h; k+ W( Nend
& G: l, }/ |$ _6 q. W8 x% I然后我用这个函数求1到1000的亲和数对! q: A! S1 ~5 h8 Z: A4 |' V
for  a=1:10000;8 }) E" L# M0 \4 a3 `) O7 V" B" ]3 [/ b
7 {3 N* N+ J! q8 S) H2 `( T" @
    b=sum(myfun(a)); %求a的真因数和  为b
% j( X: X3 o# u- r5 s
" c6 ]- e( @1 x    c=sum(myfun(b)); %求b的真因数和
$ {0 P9 W& o$ ?+ v6 F) _7 B7 T
2 D  f: r( ~. C3 U. E5 x      if   c==a  6 x) T" u7 M1 m  h2 l4 H

; m! \& ~2 R7 o- J) i7 l% ?          disp(a)                 %如果a的真因数和b的真因数相等  则输出a
% u, s: S/ W6 W6 c5 z
8 O% y2 g/ J# j2 e1 [4 ^* S( Z      end) t9 n8 c( r6 Z% R& {! C
  D, D/ g" Y9 c* C8 m# d7 Y
end7 S% m. h& W0 \! p/ c$ I

  t. d6 H# g/ a' X6 e) O3 y& a5 E: W; J1 ?% T2 ^) p. z
9 }' i7 D( I$ o; V- s) G; u- r
7 h0 N8 B+ }  m. q' m
    但是他不输出任何数,
9 r+ h  G0 {9 ?附上亲和数对" K% d' z" L: X6 l- R
亲和数是这样一对正整数a和b,使得a的所有真因子的和等于b,而b的所有真因子的和等于a。( k% Q8 |& F4 ]. `
就是220的真因子是1、2、4、5、10、11、20、22、44、55、110,它们的和是284;284的真因子是1、2、4、71、142,其和恰好是220。这是一对亲和数。1 S9 G% I6 Z4 A' w8 \: y8 p
请教大神,非常感谢!

该用户从未签到

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

) f& J% N8 A# ]: t你可以用sum函数,另外i增大时会和此前的n/i数值上发生重复,直接去掉后者1 j: W0 I4 m8 ^6 S; G+ E" D
改成) o, @$ ~9 Y/ G2 E8 d  @4 y3 a* M
y1 = [];
" m, `0 F# h* ]' f. f+ Cfor i = 1:fix(n/2)* K  M0 D4 w) z7 n+ h% {
   if mod(n,i) == 0
- @$ i2 Z; d) u7 z+ ?$ h       y1 = [y1,i];
% i/ V# k0 o" e   end
2 P: @: ?* ?( g# O* send) k5 s, N. U0 Y1 v' @5 z
y = sum( unique(y1) );   ! }. s- c1 t8 x8 a5 G8 _
end
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-11-23 18:43 , Processed in 0.156250 second(s), 23 queries , Gzip On.

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

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

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