回 帖 发 新 帖 刷新版面

主题:[讨论]编程“大”题

2、编一个程序,计算N个自然数的最大公约数。(54,30,12,18,24,42)
'分析:先求出两个数的最大公约数,再把这个公约数与下一个数辗转相除,得到三个数最大公约数。
'如此继续下去,最后的公约数就是N个自然数的最大公约数。
'在求两个最大公约数循环外套一重循来读取N个数。


      3、求两个数的最小公倍数。
'要求出两个数的最小公倍数,先求出这两个数的最大公约数
   

      4、编写能对分数约数的通用程序。


      5、有一数列,它的头三个数为0、0、1,以后的每个数都是其前三个数的和。请编程序打印此数列,直到第30个数或最后一个数超过1010为止。


     6、1996年我国人口为12.3亿人,问当人口增长率分别为2%、1.5%、1%、0.5%时,到哪一年我国人口超过13亿?


     7、编程寻找100~999之间的所有的“水仙花数”,并统计个数。三位数的“水仙花数”是指其中各位数字的立方和等于该数本身。


    8、编一个能对任何整数进行因数分解的程序。


                       请大家多多来信哦!!!!!!!!!!!!!
                              (待回信~~~~~~~~~~~~~)

回复列表 (共7个回复)

沙发

2.
CLS
INPUT n
DIM a(n)
FOR i = 1 TO n
  INPUT a(i)
NEXT i
gcd = a(1)
FOR i = 2 TO n
  m = gcd
  n = a(i)
  IF m < n THEN SWAP n, m
  DO
    r = m MOD n
    m = n
    n = r
  LOOP UNTIL r = 0
  gcd = m
NEXT i
PRINT gcd
END

板凳

3.
CLS
INPUT n, m
x = n
y = m
IF n < m THEN SWAP n, m
DO
  r = n MOD m
  m = n
  n = r
LOOP UNTIL r = 0
PRINT x * y / m
END

3 楼

4.
CLS
INPUT a$
p = INSTR(1, a$, "/")
n = VAL(LEFT$(a$, p - 1))
m = VAL(MID$(a$, p + 1, LEN(a$) - p))
x = m
y = n
IF x < y THEN SWAP x, y
DO
  r = x MOD y
  x = y
  y = r
LOOP UNTIL r = 0
n = n / x
m = m / x
PRINT a$; "=";
IF n > m THEN k = n MOD m: n = n - k * m: PRINT LTRIM$(STR$(k)); "+";
PRINT LTRIM$(STR$(n)); "/"; LTRIM$(STR$(m))
END

4 楼

5.

CLS
x = 0
y = 1
i = 3
PRINT 0; x;
DO
  i = i + 1
  z = x + y
  y = x
  x = z
  PRINT z;
LOOP UNTIL i = 30 OR z >= 1010
END

5 楼

6.
CLS
r = 1.025
FOR j = 1 TO 4
  r = r - 0.005
  m = 12.3
  i = 0
  DO
    m = m * r
    i = i + 1
  LOOP UNTIL m >= 13
  PRINT 1996 + i
NEXT j
END

6 楼

7.
CLS
FOR i = 100 TO 999
  a = i MOD 10
  b = i \ 10 MOD 10
  c = i \ 100
  IF a * a * a + b * b * b + c * c * c = i THEN PRINT i;
'用a^3+b^3+c^3不行,不知道为什么
NEXT i
END

7 楼

8.

CLS
INPUT n
DO
  FOR i = 2 TO n
    IF n MOD i = 0 THEN PRINT i;: n = n / i: EXIT FOR
  NEXT i
LOOP UNTIL n = 1
END

我来回复

您尚未登录,请登录后再回复。点此登录或注册