主题:[原创]帮帮忙!老兄!
tangran
[专家分:20] 发布于 2005-04-25 15:03:00
楼主
一个正整数(非素数)可以表示它的因子(1与他本身除外)的乘积.例如:24有因子2,3,4,6,8,12所以可表示为:24=2*12=3*8=4*6=2*2*2*3=2*4*3=2*2*6.给出一个正整数N,求出它所有的因子乘积的表达式(交换率得出的不同式子是同一种)(不是分解质因数).
回复列表 (共3个回复)
沙发
moz [专家分:37620] 发布于 2005-04-23 16:43:00
这是不是小学的题目?
是不是叫做分解质因子之类什么的?
先找一个数组来保存一下素数
(个数嘛,以不大于你所求的合数为限或者可预见的范围也行)
怎样求素数表这个问题应该很多人都有很多很好的办法了,就不多说了。
defint a-z
function zz$(a)
static maxss,ss()
if maxss=0 then
maxss=100 '假设为100个质数吧
redim ss(maxss)
def seg=varseg(ss(0))
bload "素数表",varptr(ss(0)) '假定你已把素数数组用bsave存进“素数表”的文件里
def seg
end if
do
for i=0 to maxss '从0开始还是从1开始得看你存的时候是怎样存的
select case ss(i)
case a
znz$=znz$+str$(a) 'str$函数会自动在前面加一个空格的
exit do
case is > a '如果a是大于2还会出现这种情况的话,那么我也不知道怎么办了。
exit do
case is < a '你喜欢用 case else 我也没办法
if a mod ss(i)=0 then
znz$=znz$+str$(ss(i))
a=a\ss(i)
exit for
end if
end select
next
loop until a<2 '这个条件是不是拿来做样子的?
zz$=znz$
end function
最后致歉一下,
因为我也提倡别人先测试过再拿上来说,
否则害人不浅
但我又不方便换一台DOS来编辑,
只好凭空想像了,
其中会有不少函数语句搞错了也说不定,
只好请多多原谅了。
板凳
林心如 [专家分:10] 发布于 2005-04-27 17:36:00
[em1][em1][em1][em1][em1][em1][em1][em1][em1][em1][em1][em1][em1][em1][em1][em1][em1][em1][em1][em1][em2][em2][em2][em2][em2][em2][em2][em2][em2][em2][em2][em2][em2][em2][em2][em2][em2][em2][em2][em2][em2][em2][em2][em9][em9][em9][em9][em9][em9][em9][em9][em9][em9][em9][em9][em10][em10][em10][em10][em10][em10][em10][em18][em18][em18][em18][em18][em18][em18][em18][em18][em18][em18][em18][em19][em19][em19][em19][em19][em19][em19][em19][em19][em19][em19][em19][em19][em19][em19][em20][em20][em20][em20][em20][em20][em20][em20][em20][em20][em20][em20][em20][em20][em20][em20][em20][em20][em20][em8][em8][em8][em8][em8][em8]
3 楼
林心如 [专家分:10] 发布于 2005-04-27 17:38:00
[em4][em4][em6][em6][em6][em6][em6][em6][em6][em6][em6][em6][em6][em6][em6][em6][em6][em6][em6][em6][em6][em6][em6][em6][em6][em6][em7][em7][em7][em7][em7][em7][em7][em7][em9][em9][em9][em9][em9][em9][em9][em9][em9][em9][em9][em9][em9][em9][em10][em10][em10][em10][em10][em10][em10][em10][em10][em10][em10][em10][em10][em10][em10][em10][em10][em10][em10][em10][em10][em10][em10][em10][em10][em10][em10][em10][em10][em12][em12][em12][em12][em12][em12][em12][em12][em12][em12][em12][em12][em12][em12][em12][em12][em12][em12][em12][em12][em12][em12][em12][em12][em12][em12][em12][em12][em12][em12][em12][em12][em12][em13][em13][em13][em13][em13][em13][em13][em13][em13][em13][em13][em13][em14][em14][em14][em14][em14][em14][em14][em14][em14][em14][em14][em14][em14][em14][em14][em14][em41][em41][em41][em41][em70][em70][em70][em70][em70][em70][em70][em70][em70][em70][em70][em70][em70][em70][em70][em70][em70][em70][em70][em45][em45][em45][em45][em45][em45][em45][em45][em45][em45][em45][em45][em45][em45][em45][em45][em45][em45][em45][em45][em45][em45][em72][em72][em72][em72][em72][em72][em72][em72][em72][em72][em72][em72][em72][em72][em72][em72][em72][em72][em72][em42][em42]
我来回复