- 积分
- 51
- 实力分
- 点
- 金钱数
- 两
- 技术分
- 分
- 贡献分
- 分
|
发表于 2007-9-30 10:25:39
|
显示全部楼层
没人解答的我来:/cy :/cy :/hx" />" /> :/sl
本题目归结为求1-100所有数字的约数的个数,这样约数个数为奇数的灯最终关闭。
约数个数计算:
例如72=2*2*2*3*3*3=2^3*3^3 记做2^a*3^b (0=<a=<3,0=<b=<3)
这样整数的A,B的取值全部是72的约数。
由乘法原理:72的约数个数 N72=(a+1)(b+1)=16个,灯为灭 PS:a,b可以取0所以+1
这样一般来讲:1个整数可以写为最简公约数的乘机的形式:2^a*3^b*5^c^7^d^11^e……,约数个数即为n=(a+1)(b+1)(c+1)(d+1)……
又因为约数个数为奇数数的等最终灭,由n=(a+1)(b+1)(c+1)(d+1)……只要a+1、b+1……全部为奇数n才是奇数
这样a=0、2、4、6
b=0、2、4
c=0、2
d=0、2
e=0
f=0
……
编写VB程序实现X=2^a*3^b*5^c^7^d 小于100的数字个数统计:(自己手举也可以不费什么事)
DIM a AS integer; DIM b AS integer; DIM c AS integer; DIM d AS integer; DIM n AS integer; DIM X AS integer;
n=0;
FOR a=0 to 6 STEP 2;
FOR b=0 to 4 STEP 2;
FOR c=0 to 2 STEP 2;
FOR d=0 to 2 STEP 2;
X=2^a*3^b*5^c*7^d
IF X<=100 THEN n=n+1;
NEXT a;
NEXT b;
NEXT c;
NEXT d;
PRINT n;
PRINT “OVER解答完毕上面的数字即为答案”
[ 本帖最后由 yb118sdfz 于 2007-9-30 11:51 编辑 ] |
|