计算机程序改错编程题.docx

上传人:b****6 文档编号:5622737 上传时间:2022-12-29 格式:DOCX 页数:46 大小:24.56KB
下载 相关 举报
计算机程序改错编程题.docx_第1页
第1页 / 共46页
计算机程序改错编程题.docx_第2页
第2页 / 共46页
计算机程序改错编程题.docx_第3页
第3页 / 共46页
计算机程序改错编程题.docx_第4页
第4页 / 共46页
计算机程序改错编程题.docx_第5页
第5页 / 共46页
点击查看更多>>
下载资源
资源描述

计算机程序改错编程题.docx

《计算机程序改错编程题.docx》由会员分享,可在线阅读,更多相关《计算机程序改错编程题.docx(46页珍藏版)》请在冰豆网上搜索。

计算机程序改错编程题.docx

计算机程序改错编程题

程序改正错误题

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

settalkoff

clear

n=0

forx=10to1000

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

n=n+xn=n+1

endif

endfor

?

n

settalkon

return236

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

settalkoff

clear

s=0

forx=10to1000

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

s=xs=s+x

endif

endfor

?

x?

s

settalkon

return7560

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

settalkoff

clear

s=0

forx=10to1000

ifmod(x,6)=0ormod(x,9)=0ormod(x,9)=0改andmod(x,9)<>0

x=s+xs=s+x

endif

endfor

?

s

return55440

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

n=0

forx=10to1000

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

=0andmod(x,6)!

=0andmod(x,9)=0or

n=xn=n+1

endif

endfor

?

n

return165

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

n=0

forx=100to800

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

n=x+1n=n+1

endif

endfor

?

x?

n

return480

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

settalkoff

s=0

forx=101to299

ifmod(x,2)=0andnotmod(x,3)=0andmod(x,5)=0()

x=s+xs=s+x

endif

endfor

?

s

return18630

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

settalkoff

clear

s=0

forn=1to100

s=(s+1)/ns=s+1/n

ifs>=3.5

loopexit

endif

endfor

?

n-1

return18

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

settalkoff

clear

s=0

forn=1to100

s=s+1/n

ifs<=3.6ifs>=3.6

loopexit

endif

endfor

?

n

settalkon

return21

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

s=0

forn=1to100

s=s+n*2s=s+n^2

ifs>=5000

exit

endif

endfor

?

n?

n-1

return24

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

settalkoff

s=0

forn=1to100

s=s+n*n

ifs<=5500s>=5500

exit

endif

endfor

?

s?

n

return25

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

s=0

forn=1to100

s=s+n*3s=s+n^3

ifs>=20000

exit

endif

endfor

?

n?

n-1

return16

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

s=0

forn=1to100

s=s+n*n*3s=s+n^3

ifs>30000

loopexit

endif

endfor

?

n

return19

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

(23)

s=0

forn=1to50

a=100+2*n

s=s*as=s+a

ifs>=3000

loopexit

endif

endfor

?

n-1

return23

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

s=0

forn=1to50

a=100+2*n

s=s+a

ifs>2000

loopexit

endif

endfor

?

n

return17

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

(17)

settalkoff

clear

s=0

forn=1to50

a=99+2*n

s=s+a

ifs<2000ifs>2000

exit

endif

endfor

?

n?

n-1

return17

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

(25)

settalkoff

clear

s=0

forn=1to50

a=101+2*na=99+2*n

s=s+a

ifs>3000

exit

endif

endfor

?

s?

n

settalkon

return25

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

(23)

settalkoff

clear

s=0

forn=1to100

a=n*(n+1)

s=s+a

ifs<5000ifs>5000

exit

endif

endfor

?

n?

n-1

settalkon

return23

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

(26)

settalkoff

clear

s=0

forn=1to100

a=n*(n+1)

s=s+a

ifs<=6000ifs>=6000

loopexit

endif

endfor

?

n

settalkon

return26

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

(23)

settalkoff

clear

s=0

forn=1to100

a=n*2*(n+1)a=n*(2*n+1)

s=s+a

ifs>=10000

loopexit

endif

endfor

?

n-1

settalkon

return23

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

s=0

t=0

forn=1to100

s=s+n

t=t+s

ift<1000ift>1000

exit

endif

endfor

?

n?

n-1

retuen17

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

(20)

t=0

s=0

forn=1to100

s=t+ns=s+n

t=s+nt=t+s

ift>1500

exit

endif

endfor

?

n

return20

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

s=0

forn=1to100

s=s+1/n*(n+1)s=s+1/(n*(n+1))

ifs<0.952ifs>0.952

exit

endif

endfor

?

n-1

return19

23.求出100以内使得算式1/(1*1)+1/(2*3)+…+1/(n*(2n-1)的值大于1.35的最小的自然数n。

s=0

forn=1to100

a=n*(2*n-1)

s=s+as=s+1/a

ifs>1.35

loopexit

endif

endfor

?

n

return14

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

s=0

t=0

forn=1to100

s=s+1/ns=s+n

t=t+st=t+1/s

ift>=1.9

exit

endif

endfor

?

n-1

return18

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

settalkoff

clear

a=1.00000000

s=0.00000000

forn=1to100

a=a/na=a*n

s=s+as=s+1/a

ifs<=1.71828ifs>=1.71828

loopexit

endif

endfor

?

n

return9

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

settalkoff

clear

s=0

forn=1to100step2

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

s=s+a

ifs<0.68ifs>0.68

exit

endif

endfor

?

n-2

settalkon

return35

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

settalkoff

clear

s=0

forn=1to100forn=1to100step2

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

s=s+a

ifs<=0.682ifs>=0.682

exit

endif

endfor

?

n

settalkon

return45

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

settalkoff

clear

s=1

forn=2001to2100

s=s*1.03

ifs=2ifs>=2

loopexit

endif

endfor

?

n

settalkon

return2024

29.某国今年的人口总数为1亿,若以每年4%的速度递增,试求出至少要再过几年该国人口总数才会翻一翻。

settalkoff

clear

s=0s=1

forn=1to100

s=s*1.04

ifs>=2

loopexit

endif

endfor

?

n

settalkon

return18

30.设等比数列:

1,2,4,8,…求使得此数列的前n项之和大于100000的最小的自然数n。

settalkoff

clear

a=1

s=1s=0

forn=1to100

s=s+a

ifs>100000

exit

endif

a=2+aa=2*a

endfor

?

n

return17

31.设等比数列:

1,2,4,8,…求使得此数列的前n项之和小于150000的最大的自然数n。

clear

a=1

s=0

forn=1to100

s=s+a

ifs>=150000

exit

endif

a=2+aa=2*a

endfor

?

n?

n-1

return17

32.设等比数列:

1,3,9,27,…。

求使得此数列的前n项之和大于2345678的最小的自然数n。

a=1

s=0

forn=1to100

s=s*as=s+a

ifs>2345678

exit

endif

a=3+aa=3*a

endfo

?

n

return14

33.设等比数列:

1,3,9,27,…。

求使得此数列的前n项之和小于3456789的最大的自然数n。

a=1

s=0

forn=1to100

s=s*as=s+a

ifs<3456789ifs>3456789

exit

endif

a=3*a

endfor

?

n-1

return14

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

a=45678

n=0

forb=3toastep2

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

n=n+1

endif

endfor

?

b?

n

return7

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

a=203267

forb=1toaforb=1toa-1

ifmod(a,b)=0

max=amax=b

endif

endfor

?

max

return6557

36.求出20677和42067的最大公约数。

a=20677

b=42067

ford=1toaford=1tomod(b,a)-1

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

max=bmax=d

endif

endfor

?

d

return713

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

a=559399

forn=2toa

ifmod(a,n)=0

loopexit

endif

endfor

?

a?

n

settalkon

return73

38.求前[1,100]内能被6或8整除的所有自然数的平方根的和(将第1位小数四舍五入,结果只保留整数)。

s=0

forn=1to100

ifmod(n,6)=0andmod(n,8)=0and改or

s=sqrt(s+n)s=s+sqrt(n)

endif

endfor

?

round(s,0)

return162

39.求出9269和8671的最小公倍数。

[算法提示:

a与b的最小公倍数是a的倍数中第1个被b整除的数]

a=9269

b=8671

fork=atoa*bstepa

ifmod(k,b)<>0ifmod(k,b)=0

loopexit

endif

endfor

?

k

return268801

40.求所有符合算式ab*ba=2701的最小的两位数ab(即a*10+b)。

其中a、b是1~9之间的一位整数。

forx=11to99

a=x/10a=int(x/10)

b=mod(x,10)

y=10*a+b

ifx*y=2701if(b*10+a)*y=2701

exit

endif

endfor

?

x

return37

41.已知数列:

1,2,4,7,11,16,…,其规律是相邻两项之差依次是1,2,3,4,5,…。

试求出此数列中大于5000的最小的项。

a=1

forn=0to1000

a=a+n

ifa>5000

loopexit

endif

endfor

?

n?

a

return5051

42.已知数列:

1,2,4,7,11,16,…,其规律是相邻两项之差依次是1,2,3,4,5,…。

试求出此数列中小于6000的最大的项。

a=0a=1

forn=0to1000

ifa+n<6000ifa+n>6000

exit

endif

a=a+n

endfor

?

a

return5996

43.已知数列:

1,2,4,7,11,16,…,其规律是相邻两项之差依次是1,2,3,4,5,…。

求100以内最小的自然数n使得此数列的前n项之和大于800。

a=0a=1

s=0

forn=1to100

a=a+n

s=s+a

*?

n,a,s

ifs>800

exit

endif

endfor

?

n

return17

44.已知数列{f(n)}:

f

(1)=1,f

(2)=4,当n=3,4,5,…时,f(n)=3*f(n-1)-f(n-2)。

试求出100以内最小的自然数n使得此数列的第n项大于7654321

dimensionf(100)

f

(1)=1

f

(2)=4

forn=3to100

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

iff(n)<=7654321iff(n)>=7654321

loopexit

endif

endfor

?

n

return17

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

s=0

forn=1to100

a=n*3a=n^3

s=s+a

ifs>88888

exit

endif

endfor

?

a?

n

return24

46.一球从100米高处落至平地,并且连续多次再反弹再落下,假设每次反弹的高度都是前一高度的3/4倍,试求出最小的自然数n,使得此球从开始下落至第n次着地时在垂直方向所经过的总路程超过678米。

h=100

s=0s=100

forn=2to100

h=h*3/4

s=s+hs=s+2*h

ifs>678

exit

endif

endfor

?

n

settalkon

return13

47.一球从100米高处落至平地,并且连续多次再反弹再落下,假设每次反弹的高度都是前一高度的3/4倍,试求出最大的自然数n,使得此球从开始下落至第n次着地时在垂直方向所经过的总路程不超过590米。

settalkoff

h=100

s=0s=100

forn=1to100

h=3/4*h

s=s+2*h

ifs>=590

exit

endif

endfor

?

n-1?

n

return6

48.设一数列{f(n)}:

f

(1)=1,当n>1时f(n)=1/(f(n-1)+1)。

试求出此数列的前20项中小于0.618的项的数目。

f=1.000000

n=0

fork=1to20

f=1/f+1f=1/(f+1)

iff<0.618

n=n+1

endif

*?

k,f,n

endfor

?

n

return5

49.设一数列{f(n)}:

f

(1)=1,当n>1时f(n)=1/(f(n-1)+1)。

试求出此数列的前20项中大于0.618的项的数目。

f=1.00000000

n=0

fork=2to20fork=1to20

f=1/f+1f=1/(f+1)

iff>0.618

n=n+1

endif

*?

k,f,n

endfor

?

n

settalkon

return15

50.设有用26个字母表示的26个表达式:

a=1,b=1/(a+1),c=1/(b+2),…,z=1/(y+25)。

试求出这26个字母中其值小于0.1的字母个数。

settalkoff

lett=1

n=0

fork=1to26fork=1to25

lett=1/(lett+k)

iflett<0.1

n=n+1

endif

endfor

?

n

return16

51.求所有符合算式ab*ba=3627的最大的两位数ab(即a*10+b)。

其中a、b是1~9之间的一位整数。

settalkoff

clear

forx=11to99

a=int(x/10)

b=mod(x,10)

y=a*10+b

ifx*y=3627if(b*10+a)*y=3627

exit

endif

endfor

?

x?

b*10+a

settalkon

return93

52.设一个数列的前3项都是1,从第4项开始,每一项都是其前3项之和。

试求出此数列的前25项中大于54321的项数。

settalkoff

clear

store1tof1,f2,f3

n=0

fork=1to25fork=4to25

f=f1+f2+f3

iff>54321

n=n+1

endif

f1=f2

f2=f3

f3=f1f3=f

endfor

?

n

settalkon

return5

53.已知一个由分数组成的数列:

1/2,3/5,8/13,21/34,…,其特点是:

从其中第2个分数起,每个分数的分子

都是前一分数的分子分母之和而其分母都是其分子与前一分数的分母之和。

试求出此数列的前25项中其值大于0.618的项数。

settalkoff

clear

f1=1

f2=2

n=0

fork=1to25

f=f1/f2

iff>0.618

n=n+1

endif

f1=f2f1=f2+f1

f2=f1f2=f1+f2

endfor

?

n

settalkon

return20

54.已知数列{f(n)}:

f

(1)=1,f

(2)=4,当n=3,4,5,…时,f(n)=3*f(n-1)-f(n-2)。

试求出100以内最大的自然数n使得此数列的第n项不超过7654321。

settalkoff

f1=1

f2=4

forn=3to100

f=3*f2-f1

*?

n,f

iff<=7654321iff>=654321

exit

endif

f1=f2

f2=f

endfor

?

n?

n-1

return16

55.回文指的是正读和反读都一样的一串字符,如121、1221。

试求出[1421,4112]内所有回文数的和。

s=0

forx=1421to4112

a=x/1000a=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*xs=s+x

endif

endfor

?

s

return74250

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > PPT模板 > 商务科技

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1