VF改错题期末考试程序题库(答案)_第1页
VF改错题期末考试程序题库(答案)_第2页
VF改错题期末考试程序题库(答案)_第3页
VF改错题期末考试程序题库(答案)_第4页
VF改错题期末考试程序题库(答案)_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1”求出[10,1000]内所有能被7和9中至少一个数整除的整数的个数。236

settalkoff

clear

n=0

forx=10to1000

ifmod(x,7)=0andmod(x,9)=0&&and改为or

n=n+x&&改为:n=n+l

endif

endfor

?n

settalkon

return

2”求出[10,1000]内所有能同时被7和9整除的整数之和。7560

settalkoff

clear

s=0

forx=10to1000

ifmod(x,7)=0andmod(x,9)=0

s=x+l&&改为:s=s+x

endif

endfor

?x&&改为:?s

settalkon

return

3”求出[10,1000]内所有能被6整除但不能被9整除的整数之和。55440

settalkoff

clear

s=0

forx=10to1000

ifmod(x,6)=0ormod(x,9)!=0&&改为or为and

X=S+X&&改为:S=S4-X

endif

endfor

?s

settalkon

return

4求出[10,1000]内所有能被6和9中的一个且只有一个数整除的整数的个数。165

settalkoff

clear

n=0

forx=10to1000

ifmod(x,6)=0andmod(x,9)!=0andmod(x,6)!=0andmod(x,9)=0

*上式改为:if(mod(x,6)=0andmod(x,9)!=0)or(mod(x,6)!=0andmod(x,9)=0)

n=x&&改为:n=n+l

endif

endfor

?n

settalkon

return

ii

5”求出[100,800]内所有既不能被5整除也不能被7的整数的个数。480

settalkoff

clear

n=0

forx=100to800

ifmod(x,5)=0andmod(x,7)<>0&&ifmod(x,5)<>0andmod(x,7)o0

n=x+1&&改为:n=n+l

endif

endfbr

?n

settalkon

return

“6"求出[101,299]内所有能被2整除但不能同时被3和5整除的整数之和。18630

settalkoff

clear

s=0

forx=101to299

ifmod(x,2)=0andnot(mod(x,3)=0ormod(x,5)=0)&&改为:ifmod(x,2)=0andmod(x,15)<>0

x=s+x&&改为:s=s+x

endif

endfbr

?s

settalkon

return

exit语句

7求出100以内最大的自然数n,使得从1开始的连续n个自然数的倒数之和小于3.5。18

settalkoff

clear

s=0

forn=lto100

s=(s+l)/n&&改为:s=s+l/n

ifs>=3.5

loop&&改为:exit

endif

endfor

?n-1

settalkon

return

8求出100以内最小的自然数n,使得从1开始的连续n个自然数的倒数之和大于3.6。

(21)

settalkoff

clear

s=0

forn=lto100

s=s+1/n

ifs>3.6

loop&&改为:exit

endif

endfor

?n-1&&改为:?n

settalkon

return

9求出100以内最大的自然数n,使得从1开始的连续n个自然数的平方和小于5000。24

settalkoff

clear

s=0

forn=lto100

s=s+n*2&&改为:s=s+n**2

ifs>=5000

exit

endif

endfor

?n&&改为:?n-l

settalkon

return

10求出100以内最小的自然数n,使得从1开始的连续n个自然数的平方之和大于5500。

(25)

settalkoff

clear

s=0

forn=lto100

s=s+n*n

ifs>5500

loop&&改为:exit

endif

endfor

?s&&改为:?n

settalkon

return

ii

11求出100以内最大的自然数n,使得从1开始的连续n个自然数的立方和小于•20000。16

settalkoff

clear

s=0

forn=lto100

s=s+n*3&&改为:s=s+nA3

ifs>=20000

exit

endif

endfbr

?n&&改为:?n・l

settalkon

return

12求出100以内最小的自然数n,使得从1开始的连续n个自然数的立方之和大于30000。

(19)

settalkoff

clear

s=0

forn=lto100

s=s+n*n*3&&改为:s=s+nA3

ifs>30000

exit

endif

endfbr

?s&&改为:?n

settalkon

return

13"求出50以内最大的白然数n,使得从102开始的连续n个偶数之和小于3000。23

settalkoff

clear

s=0

forn=1to50

a=100+2*n

s=s*a&&改为:s=s+a

ifs>=3000

loop&&改为:exit

endif

endfor

?n-1

settalkon

return

ii

14”求出50以内最小的自然数n,使得从102开始的连续n个偶数之和大于2000。17

settalkoff

clear

s=0

forn=1to50

a=102+2*n&&改为:a=100+2*n

s=s+a

ifs>2000

loop&&改为:exit

endif

endfbr

?n

settalkon

return

I1

15”求出50以内最大的自然数n,使得从101开始的连续n个奇数之和小于2000。17

settalkoff

clear

s=0

forn=1to50

a=99+2*n

s=s+a

ifs<2000&&改为:ifs>=2000

exit

endif

endfor

?n&&改为:?n-l

settalkon

return

16”求出50以内最小的自然数n,使得从101开始的连续n个奇数之和大于3000。25

settalkoff

clear

s=0

forn=1to50

a=99+2*n

s=s+a

ifs>3000

loop&&改为:exit

endif

endfbr

?s&&改为:?n

settalkon

return

ii

17”求出100以内使得算式l*2+2*3+・・・+n*(n+l)的值小于5000的最大的自然数n。23

settalkoff

clear

s=0

forn=lto100

a=n*(n+l)

s=s+a

ifs<5000&&改为:ifs>=5000

exit

endif

endfbr

?n&&改为:?n-l

settalkon

return

I)

18”求出100以内使得算式l*2+2*3+…+n*(n+l)的值大于6000的最小的自然数n。26

settalkoff

clear

s=0

forn=1to100

a=n*(n+l)

s=s+a

ifs<=6000&&改为:ifs>=6000

exit

endif

endfbr

?n-1&&改为:?n

settalkon

return

19"求出100以内使得算式1*3+2*5+…+n*(2*n+1)的值小于10000的最大的自然数n。23

settalkoff

clear

s=0

forn=lto100

a=n*2*(n+l)&&改为:a=n*(2*n+l)

s=s+a

ifs>=10000

loop&&改为:exit

endif

endfor

?n-l

settalkon

return

20”求出100以内使得算式l+(l+2)+…+(1+2+…+n)的值小于1000的最大的自然数n。17

settalkoff

clear

s=0

t=0

forn=lto100

s=s+n

t=t+n&&改为:t=t+s

ift>1000

exit

endif

endfor

?n&&改为:?n・l

settalkon

return

it

21"求出100以内使得算式1+(1+2)+…+(1+2+…+n)的值大于1500的最小的自然数n。20

settalkoff

clear

t=0

**增加:s=0

forn=lto100

s=t+n&&改为:s=s+n

t=s+n&&改为:t=t+s

ift>1500

exit

endif

endfor

?n

settalkon

return

22"求出100以内使得算式l/(l*2)+l/(2*3)+…+l/(n*(n+l))的值小于0.952的最大的自然

数n。19

settalkoff

clear

s=0

forn=lto100

s=s+l/n*(n+l)&&改为:s=s+l/(n*(n+l))

ifs>=0.952

exit

endif

endfbr

?n&&改为:?n-l

settalkon

return

ii

23”求出100以内使得算式l/(l*l)+l/(2*3)+・・・+l/(n*(2n・l)的值大于1.35的最小的自然数

no14

settalkoff

clear

s=0

forn=lto100

a=n*(2*n-l)

s=s+a&&改为:s=s+l/a

ifs>1.35

loop&&改为:exit

endif

endfbr

?n

settalkon

return

II

24”求出100以内的最大的自然数n,使得算式1+1/(1+2)+…+1/(1+2+…+n)的值小

于1.9o18

settalkoff

clear

s=0

t=0

forn=lto100

s=s+l/n&&改为:s=s+n

t=t+l/s

ift>=1.9

loop&&改为:exit

endif

endfor

?n-l

settalkon

return

25"求出100以内使得算式1+1/(1*2)+…+l/(l*2"・*n)的值大于1.71828的最小的自然数

no9

settalkoff

clear

a=1.00000000

s=0.00000000

forn=1to100

a=a/n&&改为:a=a*n

s=s+a&&改为:s=s+l/a

ifs<=1.71828&&改为:ifs>=1.71828

loop&&改为:exit

endif

endfor

?n

settalkon

return

ii

26”求出100以内最大的奇数n使得算式(1・1/2)+(1/3-1/4)+…+(l/n・l/(n+l))的值小

于0.68。35

settalkoff

clear

s=0

forn=lto100step2

a=l/n-l/(n+l)

s=s+a

ifs>0.68

exit

endif

endfor

?n&&改为:?n-2

settalkon

return

27”求出100以内使算式(1-1⑵+(l/3・l/4)+…+(l/n・l/(n+l))的值大于0.682的最小的奇数

no45

settalkoff

clear

s=0

forn=lto100&&改为:forn=1to100step2

a=l/n-l/(n+l)

s=s+a

ifs<=0.682&&改为:ifs>=0.682

exit

endif

endfor

?n

settalkon

return

28”某国在2000年时人口总数为1亿,若以每年3%的速度递增,试求出至少要到哪一年

该国人口总数才会翻一翻。2024

settalkoff

clear

s=l

forn=2001to2100

s=s*1.03

ifs=2&&改为:ifs>=2

loop&&改为:exit

endif

endfbr

?n

settalkon

return

29”某国今年的人口总数为1亿,若以每年4%的速度递增,试求出至少要再过儿年该国人

口总数才会翻一翻。18

Settalkoff

clear

s=0&&改为:s=l

forn=lto100

s=s*1.04

ifs>=2

exit

endif

endfbr

?n

settalkon

returnH

30"设等比数列:1,2,4,8,…。求使得此数列的前n项之和大于100000的最小的自

然数n。17

settalkoff

clear

a=l

s=l&&改为:s=0

forn=lto100

s=s+a

ifs>100000

exit

endif

a=2+a&&改为:a=2*a

endfor

?n

settalkon

return

ii

31”设等比数列:1,2,4,8,…。求使得此数列的前n项之和小于150000的最大的自

然数n。17

settalkoff

clear

a=1

s=0

forn=lto100

s=s+a

ifs>=150000

exit

endif

a=a+n&&改为:a=2*a

endfor

?n&&改为:n=n-l

settalkon

return

I1

32"设等比数列:1,3,9,27,-o求使得此数列的前n项之和大于2345678的最小的

自然数n。14

settalkoff

clear

a=l

s=0

forn=lto100

s=s*a&&改为:s=s+a

ifs>2345678

exit

endif

a=3+a&&改为:a=3*a

endfor

?n

settalkon

return

i(

33”设等比数列:1,3,9,27,-o求使得此数列的前n项之和小于3456789的最大的

自然数n。14

settalkoff

clear

a=l

s=0

forn=lto100

s=s*a&&改为:s=s+a

ifs>3456789

loop&&改为:exit

endif

a=3*a

endfbr

?n-l

settalkon

I'eturn

ii

34”求出45678的所有非平凡因子(即除1和它本身以外的约数)中奇数的个数。7

settalkoff

clear

a=45678

n=0

forb=3toastep2

ifmod(b,a)=0&&改为:ifmod(a,b)=0

n=n+l

endif

endfor

?b&&改为:?n

settalkon

return

II

35"求出203267的所有真因子(即小于它本身的约数)中最大的。6557

settalkoff

clear

a=203267

forb=ltoa-1

ifmod(a,b)=0

max=a&&改为:max=b

endif

endfor

?b&&改为:?max

settalkon

return

i(

36”求出233479的所有真因子(即小于它本身的约数)中最大的。8051

settalkoff

clear

a=233479

forb=2toa&&改为:forb=ltoa-1

ifmod(a,b)=0

max=a&&改为:max=b

endif

endfor

?max

settalkon

return

ii

37”求出20677和42067的最大公约数。713

settalkoff

clear

a=20677

b=42067

ford=ltob&&改为:ford=ltoa

ifmod(a,d)=0andmod(b,d)=0

max=b&&改为:max=d

endif

endfor

?max

settalkon

return

I1

38"求出559399的所有非平凡因子(即除1和它本身以外的约数)中最小的。73

settalkoff

clear

a=559399

forn=2toa&&改为:forn=2toa-1

ifmod(a,n)=0

loop&&改为:exit

endif

endfor

?a&&改为:n

settalkon

return

39号求出179869和196037的最大公约数。2021

settalkoff

clear

a=179869

b=196037

ford=2toa

ifmod(d,a)=0andmod(d,a)=0&&改为:ifmod(a,d)=0andmod(b,d)=0

c=max(a,b)&&改为:c=d

endif

endfor

?c

settalkon

return

ii

40”求前[1,100]内能被6或8整除的所有自然数的平方根的和(将第1位小数四舍五入,

结果只保留整数)。162

settalkoff

clear

s=0

forn=lto100

ifmod(n,6)=0andmod(n,8)=0&&改为:ifmod(n,6)=0ormod(n,8)=0

s=sqrt(s+n)&&改为:s=s+sqrt(n)

endif

endfor

?round(s,0)

settalkon

return

I)

41”已知数列{f(n)}:f(l)=l,f(2)=4,当n=3,4,5,…时,f(n)=3*f(n・l)・f(n・2)。试求出100

以内最小的自然数n使得此数列的第n项大于7654321。17

settalkoff

clear

dimensionf(100)

f(D=l

f(2)=4

forn=3to100

f(n)=3*f(n-l)-f(n-2)

iff(n)<=7654321&&改为:iff(n)>=7654321

loop&&改为:exit

endif

endfor

?n

settalkon

return

42”求出100以内最小的自然数n,使得从1开始的连续n个自然数的立方之和大于

88888o24

settalkoff

clear

s=0

forn=lto100

a=n*3&&改为:a=nA3

s=s+a

ifs>88888

exit

endif

endfbr

?a&&改为:n

settalkon

return

43求出100以内最大的自然数n,使得从1开始的连续n个自然数的立方之和小于

99999o24

settalkoff

clear

s=0

forn=lto100

s=s+n*n*n

ifs<99999&&改为:ifs>=99999

exit

endif

endfbr

?n&&改为:

settalkon

return

I1

44"一球从100米高处落至平地,并旦连续多次再反弹再落下,假设每次反弹的高度都是

前一高度的3/4倍,试求出最小的自然数n,使得此球从开始下落至第n次着地时在垂直方

向所经过的总路程超过678米。13

settalkoff

clear

h=100

s=0&&改为:s=100

forn=2to100

h=h*3/4

s=s+h&&改为:s=s+2*h

ifs>678

exit

endif

endfor

?n

settalkon

return

45”一球从100米高处落至平地,并且连续多次再反弹再落下,假设每次反弹的高度都是

前一高度的3/4倍,试求出最大的自然数n,使得此球从开始下落至第n次着地时在垂直方

向所经过的总路程不超过590米。6

settalkoff

clear

h=100

s=0&&改为:s=100

forn=lto100

h=3/4*h

s=s+2*h

ifs<=590&&改为:ifs>=590

exit

endif

endfor

?n

settalkon

return

ii

回文数

46”回文数指的是正读和反读都一样的一串字符,如121、1221。试求出[1421,4112]内所

有回文数的和。74250

settalkoff

clear

s=0

forx=1421to4H2

a=x/1000&&改为:a=int(x/1000)

b=int((x-a*1000)/100)

c=int((x-a*1000-b*100)/10)

d=x-a*1000-b*100-c*10

ifa=dandb=c

s=s*x&&改为:s=s+x

endif

endfor

?s

settalkon

return

47"回文指的是正读和反读都一样的一串字符,如121、1221。试求出[1234,9876]内回文

数的个数。85

settalkoff

clear

n=0

forx=1234to9876

a=int(n/1000)&&改为:a=int(x/1000)

b=int((x-a*1000)/100)

c=int((x-a*1000-b*100)/10)

d=x-a*1000-b*100-c*10

ifa=bandc=d&&改为:ifa=dandc=b

n=x+l&&改为:n=n+l

endif

endfbr

?n

settalkon

return

48”求出[123,789]内至少有两个数字相同的数的个数。180

settalkoff

clear

n=0

forx=123to789

a=int(x/100)

b=int((x-a)/10)&&改为:b=int((x-a*100)/10)

c=x-a-b&&改为:c=x-a*100-b*10

ifa=bora=corb=c

n=n+l

endif

endfor

?n

settalkon

return

49”求出[123,321]内恰好有两个数字相同的数的个数。45

settalkoff

clear

n=0

forx=123to321

a=int(x/100)

b=int(x-a*100)/10&&改为:b=int((x-a*100/)10)

c=x-a*l00-b*10

ifa=bandaocoraobanda=c

*上句改为:if(a=bandaoc)or(aobanda=c)or(c=bandaob)

n=n+l

endif

endfbr

?n

settalkon

return

I!

50"求出[123,456]内恰好有两个数字相同的所有整数之和。26406

settalkoff

clear

s=0

forx=123to456

a=int(x/100)

b=int((x-a*100)/10)

c=mod(x,10)

ifa=banda!=cora!=banda=c

*上句改为:if(a=bandaoc)or(aobanda=c)or(c=bandaob)

S=S+1&&改为:s=s+x

endif

endfor

?s

settalkon

return

51”求在[10(),999]内所有不含数字0且各位数字之积被96整除的数之利。26640

settalkoff

clear

s=0

forx=100to999

a=int(x/100)

b=int((x-a*100)/10)

c=mod(x,l)&&改为:c=mod(x,10)

ifmod(a*b*c,96)=0&&改为:ifmod(a*b*c,96)=0anda*b*c!=0

s=s+x

endif

endfor

?s

settalkon

return

52”求在[100,999]内所有不含数字0且各位数字之和被14整除的数之和。31080

settalkoff

clear

s=0

forx=100to999

a=int(x/100)

b=int((x-a*100)/10)

c=x-a*100-b*10

ifmod(a+b+c,14)=0&&改为:ifmod(a+b+c,14)=0anda*b*c!=0

s=x&&改为:s=s+x

endif

endfor

?s

settalkon

return

ii

53”求出[100,600]内被除3余2并且被除5余3的整数的个数。33

settalkoff

clear

n=0

forx=100to600

ifmod(x,3*5)=2*3&&改为:ifmod(x,3)=2andmod(x,5)=3

n=x+1&&改为:n=n+l

endif

endfbr

?n

settalkon

return

54”求出[200,800]内被除3余1并且被除5余3的整数的和。20020

settalkoff

clear

s=0

forx=200to800

ifmod(x,3)=lormod(x,5)=3&&改为:ifmod(x,3)=landmod(x,5)=3

s=s+x

endif

endfbr

?x&&改为:?s

settalkon

return

ir

55”求出[1234,6789]内中间两位数字之和等于首尾两位数字之积的数的个数。175

settalkoff

clear

n=0

forx=1234to6789

a=int(x/1000)

b=int(x-a*1000)/100&&改为:b=int((x-a*1000)/100)

c=int(x-a*1000-b*100)/10&&改为:c=int((x-a*1000-b*100)/10)

d=x-a*1000-b*100-c*10

ifb+c=a*d

n=n+l

endif

endfor

?n

settalkon

return

完全平方数

**56”若一个自然数恰好等于某个整数的平方,则称此数为完全平方数。如144是完全

平方数,因为它等于12的平方。求[1000,3000]内所有完全平方数的和。43539

settalkoff

clear

s=0

forx=1000to3000

y=sqrt(x)&&改为:y=int(sqrt(x))

ifx=y*y

s=s+x

endif

endfor

?x&&改为:s

settalkon

return

57”已知数列:1、2、4、7、10、15、…,其特点是:相邻两项之差恰好构成自然数列:

1、2、3、4、5、…。求此数列的前100项中能被4整除的项的个数。25

settalkoff

clear

a=l

k=0

forn=lto100&&改为:forn=1to99

a=a+n

ifmod(n,4)=0&&改为:ifmod(a,4)=0

k=k+l

endif

endfor

?k

settalkon

return

58”已知数列:1、2、4、7、11、16、…,其特点是:相邻两项之差恰好构成自然数列:

1、2、3、4、5、…。求此数列的前100项中能被4整除的项之和。41700

settalkoff

clear

a=l

s=l&&改为:s=0

forn=0to99&&改为:forn=lto99

a=a+n

ifmod(a,4)=0

s=s+n&&改为:s=s+a

endif

endfbr

?s

settalkon

return

数组或递推

59”已知数列{靛11)}:以)=11(2)=1,当11>2时长1))=文・2)+411-1)。试求此数列的第15项至第

25项共11项之和。195431

settalkoff

clear

dimensionf(25)

f(D=l

f(2)=l

s=0

forn=3to25

f(n)=f(n-2)+f(n-l)

ifn<=ll&&改为:ifn>=15

s=f(n)&&改为:s=s+f(n)

endif

endfbr

?s

settalkon

return

60”已知数列{f(n)}:f(l)=l,f(2)=l,当n>2时f(n)=3*f(n・2)・f(n・l)。试求此数列的前20项中

所有正数项之和。343371

settalkoff

clear

dimensionf(20)

f(D=l

f(2)=l

s=0

forn=3to20

f(n)=3*f(n-l)-f(n-2)&&改为:f(n)=3*f(n-2)-f(n-l)

iff(n)>0

s=s+f(n)

endif

endfbr

?s&&改为:?S+f(l)+f(2)

settalkon

return

勾股弦

61”对自然数A、B、C,若AvBvC且A*A+B*B=C*C,则称{A,B,C}为一组勾股弦数,

其中A、B、C分别称为勾、股、弦。试求出弦为25000的勾股弦数组的个数。5

settalkoff

clear

c=25000

n=l&&改为:n=0

fora=ltoc

b=int(sqrt(c*c-a*a))

ifa*a+b*b=c*c&&改为:ifa*a+b*b=c*canda<band0<a

n=n+a&&改为:n=n+l

endif

endfbr

?n

settalkon

return

ii

62”对自然数A、B、C,若AvBvC且A*A+B*B=C*C,则称{A,B,C}为一组勾股弦数,

其中A、B、C分别称为勾、股、弦。试求出弦为1300的勾股弦组数。7

settalkoff

clear

c=1300

n=0

fora=ltoc

bl=sqrt(c*c-a*a)

b=int(bl)

ifb=bl&&改为:ifb=b1anda<banda<c

n=n+b&&改为:n=n+l

endif

endfbr

?n

settalkon

return

方程

63”求方程3x-7y=l在条件IxIvlOO且lylv40下的整数解的个数。26

settalkoff

clear

n=0

forx=-99to99

y=int((3*x-l)/7)

if3*x-7*y=lorabs(y)<40&&改为:if3*x・7*y=landabs(y)<40

n=n+x&&改为:n=n+l

endif

endfor

?n

settalkon

return

64”求方程3x・7y=l在条件IxIvlOO且lylv40下的所有整数解的Ixl+lyl的最大值。127

settalkoff

clear

max=140&&改为:max=0

forx=-99to99

y=int((3*x-l)/7)

z=abs(x)+abs(y)

if3*x-7*y=landabs(y)<40andmax>z

**上句改为:if3*x-7*y=landabs(y)<40andmax<z

max=z

endif

endfor

?z&&改为:?max

settalkon

return

65”求方程3x-7y=l在条件IxIvlOO且lyl<40下的所有整数解的Ixl+lyl的最小值。3

settalkoff

clear

min=0&&改为:min=140

forx=-99to99

y=int((3*x-l)/7)

z=abs(x+y)&&改为:z=abs(x)+abs(y)

if3*x-7*y=landabs(y)<40andmin<z

**上句改为:if3*x・7*y=landabs(y)<40andmin>z

min=z

*?x,y,z

endif

endfbr

?min

settalkon

return

ii

66”求方程4x+9y=1000的正整数解的个数。27

settalkoff

clear

n=0

forx=lto250

y=int((1000-4*x)/9)

if4*x+9*y=1000&&改为:if4*x+9*y=1000andy>0

n=n+x&&改为:n=n+1

endif

endfor

?n

settalkon

return

II

67”求方程9x+4y=1000的所有正整数解的Ix-yl的最大值。237

settalkoff

clear

max=0

forx=1to230

y=int((l000-9*x)/4)

z=abs(x-y)

if9*x+4*y=1000andy>0andmax>z

**上句改为:if9*x+4*y=1000andy>0andmax<z

max=z

endif

endfbr

?z&&改为:?max

settalkon

return

**68"求方程9x+4y=1000的所有正整数解的lx・yl的最小值。3

settalkoff

clear

min=0&&改为:min=2000

forx=lto230

y=int((1000-9*x)/4)

z=abs(x-y)

if9*x+4*y=1000andy>0andmin>z

min=z

endif

endfor

?min

settalkon

return

ii

69”已知数列{f(n)}:f(l)=l,f(2)=4,当n=3,4,5,…时,f(n)=3*f(n-l)-f(n-2)o试求出100

以内最大的自然数n使得此数列的第n项小于5364321Q16

settalkoff

clear

dimensionf(100)

f(D=l

f(2)=4

forn=3to100

f(n)=3*f(n-l)-f(n-2)

iff(n)>5364321

loop&&改为:exit

endif

endfbr

?n&&改为:?n-l

settalkon

return

II

70"已知数列{f(n)}:f(l)=l,f(2)=4,当n=3,4,5,…时,f(n)=3*f(n-l)-f(n-2)o试求出100

以内最大的自然数n使得此数列的前n项之和首次大于7536432k19

settalkoff

clear

dimensionf(100)

f(D=l

f(2)=4

s=0

forn=3to100

f(n)=3*f(n-l)-f(n-2)

s=s+f(n)

ifs<75364321&&改为:ifs>75364321

loop&&改为:exit

endif

endfor

?n

settalkon

return

717知数列{f(n)}:f(l)=l,f(2)=3,当n=3,4,5,…时,f(n)=f(n・l)・f(n・2)。试求出100以内

最大的自然数n使得此数列的前n项之和第3次等于Oo(18)

settalkoff

clear

dimensionf(100)

f(D=l

f(2)=3

s=f(l)+f(2)

t=l&&改为:t=0

forn=3to20

f(n)=f(n-l)-f(n-2)

s=s+f(n)

ifs=O

t=t+l

ift=3

loop&&改为:exit

endif

endif

endfor

?n

settalkon

return

72已知数列{f(n)}:f(l)=l,f(2)=3,当n=3,4,5,…时,f(n)=f(n-l)-f(n-2)o试求出100以内

最大的自然数n使得此数列的前n项之和第5次等于5。(28)

settalkoff

clear

dimensionf(100)

f(D=l

f(2)=3

s=0&&改为:s=f(l)+f(2)

t=0

forn=3to100

f(n)=f(n-l)-f(n-2)

s=s+f(n)

ifs=5

t=t+s&&改为:t=t+l

ift=5

exit

endif

endif

endfbr

?n

settalkon

return

73”对自然数A、B、C,若AvB<C且A*A+B*B=C*C,则称{A,B,C}为一组勾股弦数,其

中A、B、C分别称为勾、股、弦。试求出弦为2500的勾股数组的个数。(4)

settalkoff

clear

c=2500

n=0

fora=ltoc

b=int(sqrt(c*c-a*a))

ifa*a+b*b=c*c&&改为:加上andavbandb<c

n=n+l

endif

endfbr

?n

settalkon

return

74对自然数A、B、C,若A<B<C且A*A+B*B=C*C,则称{A,B,C}为一组勾股弦数,其

中A、B、C分别称为勾、股、弦。试求出弦为2500的勾股数组中A+B+C的值最大为多

少?。(6000)

settalkoff

clear

c=2500

max=0

fora=ltoc

b=int(sqrt(c*2-a*2))&&改为:(c八2-a八2)

ifa*a+b*b=c*canda<b&&改为:加上andb<c

ifmax>a+b+c&&改为:ifmaxva+b+c

max=a+b+c

endif

endif

endfor

?max

settalkon

return

75”对自然数A、B、C,若AvB<C且A*A+B*B=C*C,则称{A,B,C}为一组勾股弦数,

其中A、B、C分别称为勾、股、弦。试求出弦为25000的勾股数组中A+B+C的值最小

为多少?。(51824)

settalkoff

clear

c=25000

min=c*5

fora=ltoc

b=int(sqrt(c*c-a*a))

ifa*a+b*b=c*c&&改为:加上a<bandb<c

ifmin>a+b+c

min=a+b+c

endif

endif

endfbr

?min

settalkon

return

76对自然数A、B、C,若AvBvC且A*A+B*B=C*C,则称{A,B,C}为一组勾股弦数,其

中A、B、C分别称为勾、股、弦。试求出弦为[1,100]内符合条件的数有多少组?(52)

settalkoff

clear

n=l&&改为:n=0

forc=lto100

fora=ltoc

b=int(sqrt(c*c-a*a))

ifa*a+b*b=c*c&&改为:加上a<bandtxc

n=n+a&&改为:n=n+l

endif

endfbr

endfbr

?n

settalkon

return

77对自然数A、B、C,若AvBvC且A*A+B*B=C*C,则称{A,B,C}为一组勾股弦数,其

中A、B、C分别称为勾、股、弦。试求出弦为

[100,300]内符合条件的数有多少组?(63)

settalkoff

clear

n=0

fora=100to300

forb=1to300

forc=1to300

ifa*a+b*b=c*c&&改为:加上a<bandb<c

n=n+a+b+c&&改为:n=n+l

endif

endfbr

endfor

endfbr

?n

settalkon

return

78编写程序,计算10000以内有多少个这样的数,其个位数为6且该数能被9整除。(111)

settalkoff

clea

n=l&&改为:n=0

fori=lto10000

ifmod(i,6)=0&&改为:ifmod(i,10)=6

ifmod(i,10)=9&&改为:ifmod(i,9)=0

n=n+l

endif

endif

endfor

?n

return

79”编写程序,计算10000以内个位数为6且该数能被9整除的所有数之和。(553446)

settalkoff

clea

n=0

fori=lto10000

ifmod(i,6)=6&&改为:ifmod(i,10)=6

ifmod(i,10)=9&&改为:ifmod(i,9)=0

n=n+l&&改为:n=n+i

endif

endif

endfor

?n

return

553466

80编写程序,计算10000以内所有十位数为6且该数能被7整除的数之和。(719222)

settalkoff

clea

n=0

fori=lto10000

sw=mod(i,100)&&改为:sw=int(mod(i,100)/10)

ifsw=6

ifmod(i,10)=7&&改为:ifmod(i,7)=0

n=n+i

endif

endif

endfbr

?n

return

81”编写程序,计算100—10000以内个位上的数小于百位上的数的所有数之和。

(23314500)

settalkoff

clea

n=100&&改为:n=0

fori=100to10000

bw=mod(i,1000)&&改为:bw=int(mod(i,1000)/100)

gw=mod(i/10)&&改为:gw=mod(i,10)

ifgw<bw

n=n+I

endif

endfor

?n

return

82”编写程序,计算100—10000以内个位上的数小于百位上的数的个数。(4500)

settalkoff

clea

n=0

fori=100to10000

bw=mod(i,1000)&&改为:bw=int(mod(i,1000)/100)

gw=int(i/10)&&改为:gw=mod(i,10)

ifgwvbw

n=n&&改为:n=n+l

endif

endfor

?n

return

83”编写程序,计算100—65374以内个位上的数等于百位上的数的个数。(6528)

settalkoff

clea

n=100&&改为:n=0

fori=lto65374&&改为:fori=100to65374

bw=mod(i,1000)/100&&改为:bw=int(mod(i/000)/100)

gw=mod(i,10)

ifgw=bw

n=n+l

endif

endfor

?n

return

84”设某四位数的各位数字的平方和等于100,问共有多少个这种四位数?(49)

settalkoff

clea

n=0

forx=1000to9999

a=int(x/1000)

b=int((x-a*1000)/100)

c=int(x/100)&&改为:c=int((x-a*1000-b*100)/10)

d=mod(x,10)

ifa*2+b*2+c*2=100&&改为:aA2+bA2+cA2+dA2=100

n=n+l

endif

endfor

?n

settalkon

return

85设某四位数的各位数字的立方和等于168,问共有多少个这种四位数?(12)

settalkoff

clea

n=0

forx=1000to9999

a=int(x/1000)

b=int((x-a*1000)/100)

c=int(x/100)&&改为:c=int((x-a*1000-b*100)/10)

d=mod(x,10)

ifa*a+b*b+c*c+d*d=168&&改为:aA3+bA3+cA3+dA3=168

n=n+l

endif

endfor

?n

settalkon

return

86设某四位数的各位数字的立方和等于168,问满足这种条件的四位数且是奇数的数共有

多少个?(6)

settalkoff

clea

n=0

forx=1000to9999

a=int(x/1000)

b=int((x-a*1000)/100)

c=int(x/100)&&改为:c=int((x-a*1000-b*100)/10)

d=mod(x,10)

ifa*3+b*3+c*3=168andd=3&&改为:

n=n+lifa**3+b**3+c**3+d**3=168andmod(x,2)!=0

endif

endfbr

?n

settalkon

return

87设某四位数的各位数字的平方和等于198,问满足这种条件的四位数旦是偶数的数共有

多少个?(23)

settalkoff

clea

n=0

forx=1000to9999

a=int(x/1000)

b=int((x-a*1000)/100)

c=mod(x,100)/10&&改为:c=int(mod(x,100)/10)

d=mod(x,10)

ifa*a+b*b+c*c+d*d=198andd=0&&改为:andmod(x,2)=0

n=n+l

endif

endfor

?n

settalkon

return

88把一张一元钞票,换成一分、二分和五分硬币,每种至少11枚,问有多少种方案?

(13)

settalkoff

clea

n=l&&改为:n=0

for

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论