主题:[讨论]编程“大”题
黑暗幽灵兔
[专家分:0] 发布于 2011-06-29 16:43:00
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个回复)
沙发
幽灵密码 [专家分:3510] 发布于 2011-06-30 12:08:00
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
板凳
幽灵密码 [专家分:3510] 发布于 2011-06-30 12:11:00
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 楼
幽灵密码 [专家分:3510] 发布于 2011-06-30 12:19:00
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 楼
幽灵密码 [专家分:3510] 发布于 2011-06-30 12:47:00
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 楼
幽灵密码 [专家分:3510] 发布于 2011-06-30 12:55:00
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 楼
幽灵密码 [专家分:3510] 发布于 2011-06-30 13:08:00
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 楼
幽灵密码 [专家分:3510] 发布于 2011-06-30 13:11:00
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
我来回复