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

求一个数的真因数。

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
% v9 V( @4 R1 r/ m% B2 x

" e* @8 g/ @8 v1 e$ C这个是一个函数,求一个数的真因数6 ]' k4 M1 A  d  g
function y=myfun(n)
6 Y' k8 R" T. {+ Z" g6 T- ]   y1=[];: f) F) ?; A+ N8 m
   for i=1:fix(n/2);
  V' c; q* n( G4 ], j- u       if mod(n,i)==0;
* F! @* S; O$ C) U- L           y1=[y1,i,n/i];
, s1 o9 x) V3 i. u( a8 V# S9 d       end7 K0 I0 R! x& S. t  V) w) j) {) p
   end4 z  N6 X# a& x. L
   y=unique(y1);   
- w& p3 J% ~; s& c* F7 r# send
* [# `* \3 k* N( N然后我用这个函数求1到1000的亲和数对
! \. o1 e6 a/ j7 [- l8 l" `5 r" qfor  a=1:10000;
; z4 W; G- z  V! V! d; ^. F
0 B- T5 B6 F* @! ?2 q    b=sum(myfun(a)); %求a的真因数和  为b" u  l& O* @/ W8 W0 H/ B

# T1 c0 B( C, r) b5 s7 P( n    c=sum(myfun(b)); %求b的真因数和
2 B2 H8 m5 l1 x/ _0 O8 y4 o% N" z+ L+ S$ x9 n  C) d$ O+ d
      if   c==a  % @$ V. p5 V  s$ w3 _' Q! z

- P" F# R2 K3 r6 @( M          disp(a)                 %如果a的真因数和b的真因数相等  则输出a* d/ d3 D  W  x$ ?0 H
9 n8 i+ x5 H2 [! u% A
      end% p/ u/ F% |" z) z
! _3 Z8 Q: a# B0 r. ?
end0 x% y  M1 B% o9 T. u+ M5 K
3 Y1 S9 ?8 J0 d' F2 J
0 `9 f$ U8 ]4 p6 K! w

' U( s5 f3 `8 x( Y" ^3 b2 t* n
- i/ Z  }! t1 u7 f0 \& Y    但是他不输出任何数,7 H! }) i, Y! Q1 D9 f
附上亲和数对) i, R$ N, a  K* W$ T
亲和数是这样一对正整数a和b,使得a的所有真因子的和等于b,而b的所有真因子的和等于a。; x+ b: f3 a8 f5 v4 w8 s- b
就是220的真因子是1、2、4、5、10、11、20、22、44、55、110,它们的和是284;284的真因子是1、2、4、71、142,其和恰好是220。这是一对亲和数。
7 g# [* j' t7 M2 [+ y) Y8 {: i4 @, l请教大神,非常感谢!

该用户从未签到

2#
发表于 2020-5-21 13:22 | 只看该作者
) q. M+ @9 @; T9 H$ t6 J( c
你可以用sum函数,另外i增大时会和此前的n/i数值上发生重复,直接去掉后者9 x$ q( K. K# R0 P! S+ D
改成
3 e# @6 }0 K+ ^6 }: Sy1 = [];
) T' ]( C! B5 vfor i = 1:fix(n/2)
' i! v. S! n, x- Z( s0 a   if mod(n,i) == 0
- _7 E+ F  K' ^! n       y1 = [y1,i];
5 Y/ G/ e- ^! D! c% a/ X3 d   end& E% F- x+ ?+ e+ {1 U7 [# @
end/ X. x1 K* M+ s4 w0 n
y = sum( unique(y1) );   ! o5 n/ K  n# V2 s8 e2 t0 \; ^: a, k
end
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-11-5 23:52 , Processed in 0.125000 second(s), 23 queries , Gzip On.

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

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

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