for i=2 to 999999
if mod(i*i,10)=i or mod(i*i,100)=i or mod(i*i,1000)=i or mod(i*i,10000)=i or mod(i*i,100000)=i s=s+i endif endfor ?s
22、求满足条件A*B=54321且使A+B的值最小的自然数对A、B中较小的一个数。(提示:设A<=B,当A越大时A+B越小) 答案:57 s1=54322
for i=1 to int(sqrt(54321)) if(54321%i==0 ) s=i+54321/i if(s<=s1) s1=s a=i endif endif endfor ?a
23、已知数列:1、2、4、7、10、15、?,其特点是:相邻两项之差恰好构成自然数列:1、2、3、4、5、?。求此数列的前100项中能被4整除的项的个数。 答案:25 m=0 a=1
for n=1 to 99 a=a+n if a%4==0 m=m+1 endif endfor ?m
24、求出将十进制整数98765432等值转换为二进制形式表示后其中数字1的个数。(提示:模拟人工计算的“2除取余”法) 答案:13 c=98765432 n=0
do while c>0 if(c%2==1) n=n+1 endif c=int(c/2) enddo ?n
25、对自然数A、B、C,若A
for b=12500 to 25000 for a=1 to b-1
if a*a+b*b=25000*25000 n=n+1 endif
endfor endfor ?n
26、求方程3x-7y=1在条件|x|<100且|y|<40下的整数解的个数。 答案:26 n=0
for x=-99 to 99 for y=-39 to 39 if 3*x-7*y==1 n=n+1 endif endfor endfor ?n
27、已知数列{f(n)}:f(1)=1,f(2)=4,当n=3,4,5,?时,f(n)=3*f(n-1)-f(n-2)。试求出100以内最大的自然数n使得此数列的前n项之和首次大于75364321。 答案:19 dime f(100) f(1)=1 f(2)=4 s=5
for n=3 to 100
f(n)=3*f(n-1)-f(n-2) s=s+f(n)
if s>75364321 exit endif endfor ?n
28、求100-200内的所有素数的个数。(素质是指只能被1和本身整除的数) 答案:21 n=0
for i=100 to 200 for j=2 to i-1 if(i%j==0)
exit endif endfor if j==i n=n+1 endif endfor ?n
29、求1000-10000内的第50个素数。(素质是指只能被1和本身整除的数) 答案:1361 n=0
for i=1000 to 10000 for j=2 to i-1 if(i%j==0) exit endif endfor if j==i n=n+1 endif if n==50 exit endif endfor ?i
30、编写程序,计算10000以内有多少个这样的数,其个位数为6且该数能被9整除。 答案:111 n=0
for i=1 to 10000
if i==6 and i%9==0 n=n+1 endif endfor ?n
31、设某四位数的各位数字的平方和等于100,问共有多少个这种四位数? 答案:49 n=0
for i=1000 to 9999 a=int(i/1000) b=int(i/100) c=int(i/10) d=i
if a^2+b^2+c^2+d^2=100 n=n+1
endif endfor ?n
32、把一张一元钞票,换成一分、二分和五分硬币,每种至少11枚,问有多少种方案? 答案:13 n=0
for a=11 to 20 for b=11 to 50 for c=11 to 100
if a*5+b*2+c=100 n=n+1 endif endfor endfor endfor ?n
33、把一张一元钞票,换成一分、二分和五分硬币,每种至少1枚,问兑换后硬币总数最多的与硬币总数最少的枚数之差是多少? 答案:73 max=3 min=300 for a=1 to 20 for b=1 to 50 for c=1 to 100
if a*5+b*2+c=100 s=a+b+c if(s>max)
max=s endif if(s endif endif endfor endfor endfor ?max-min 34、找满足以下条件: X^2+Y^2=41^2 且X+Y之值最大的二个正整数X,Y, 求X+Y之值. 答案:49 max=41 for x=1 to 41 for y=x to 41 if x*x+y*y=41*41 and max 35、已知24有8个正整数因子(即:1,2,3,4,6,8,12,24),而24正好被其因子个数8整除。求[100,300]之间能被其因子数目整除的数的个数。 答案:19 m=0 for i=100 to 300 n=0 for j=1 to i if i%j=0 n=n+1 endif endfor