程序.docx

上传人:b****5 文档编号:8572393 上传时间:2023-01-31 格式:DOCX 页数:42 大小:26.43KB
下载 相关 举报
程序.docx_第1页
第1页 / 共42页
程序.docx_第2页
第2页 / 共42页
程序.docx_第3页
第3页 / 共42页
程序.docx_第4页
第4页 / 共42页
程序.docx_第5页
第5页 / 共42页
点击查看更多>>
下载资源
资源描述

程序.docx

《程序.docx》由会员分享,可在线阅读,更多相关《程序.docx(42页珍藏版)》请在冰豆网上搜索。

程序.docx

程序

1.求100-550内的所有素数的个数。

(素数是指只能被1和本身整除的数)

settalkoff

clea

n=0

fori=100to550

f=1

forj=2toi

ifmod(i,j)=0

f=0

loop

endif

endfor

iff=1

n=n+1

endif

endfor

?

n

return

2.下面程序求1!

+3!

+5!

+…+(2K+1)!

,要求在其和大于20000时中止程序运行。

填空完成程序,然后运行程序得出正确结果。

(答案填程序运行结果,保留整数位)

CLEA

I=0

S=0

DOWHILE.T.

I=I+1

IFI/2=________

LOOP

ENDIF

J=1

SUB=1

DOWHILEJ<=I

___________

J=J+1

ENDDO

S=S+SUB

3.求100-550内的所有素数的个数。

(素数是指只能被1和本身整除的数)

IFS>20000

EXIT

ENDIF

ENDDO

?

S

SETTALKON

RETU

settalkoff

clea

n=0

fori=100to550

f=1

forj=2toi

ifmod(i,j)=0

f=0

loop

endif

endfor

iff=1

n=n+1

endif

endfor

?

n

return

 

4.判断正误

求方程9x+4y=2000的所有正整数解的|x-y|的最小值。

源程序文件:

C:

/SudenntHNCRE/2010706012520040/Program

settalkoff

clear

min=0

forx=1to230

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

z=abs(x-y)

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

min=z

endif

endfor

?

min

settalkon

return

5.程序填空求能被3整除且有一位数字为6的三位数的个数。

填空完成程序,然后运行程序得出正确结果。

(答案填程序运行结果,保留整数位)

程序文件:

C:

/SudenntHNCRE/2010706012520040/Program/2.prg

SETTALkOFF

CLEA

S=0

X=100

DOWHILEX<999

IF___________

A=INT(X/100)

B=INT(X/10)-A*10

C=X-A*100-B*10

IF____________

S=S+1

ENDIF

ENDIF

X=X+1

ENDDO

?

S

RETU

6.程序编写

已知:

f(n)=f(n-1)+2*f(n-2)-5*f(n-3),f(0)=1,f

(1)=2,f

(2)=3,求f(0)+f

(1)+…f(30)。

 

7.求出[1000,10000]内所有能被147或者197整除的整数之和。

#include

#include

classaddition

{

longI,a,b,c,d,sum,count,abs_sub,max,min;

public:

addition(longa1,longb1,longc1,longd1){

a=a1;b=b1;c=c1;d=d1;}

voidsolution(){

for(I=a;I<=b;I++)

if((I%c==0&&I%d!

=0)||(I%c!

=0&&I%d==0)){

sum=sum+I;

}

}

voidadd_sum()//求整数和

{

cout<<"sumis:

"<

}

};

voidmain()

{

additionobj(1000,10000,147,197);

obj.solution();

obj.add_sum();

}

8.求方程8372*x*x-33488*x=1850212在范围[-1000,+1000]之间整数解的和的绝对值

if(a*x*x+b*x==c)xs[++solution_count]=x;

}

voidsolution_add_abs()//和的绝对值

{

switch(solution_count)

{

case1:

cout<<"solutionaddabsis:

"<

case2:

cout<<"solutionaddabsis:

"<

default:

cout<<"Notsolution!

"<

}

}

};

voidmain()

{

equationobj(8372,-33488,1850212,-1000,+1000);

______________

obj.solution_add_abs();

}

 

数列:

E

(1)=E

(2)=1

E(n)=(n-1)*E(n-1)+(n-2)*E(n-2)(n>2)

称为E数列,每一个E(n),(n=1,2,…)称为E数。

求[1,30000]之内E数的个数。

 

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

settalkoff

clear

s=0

forn=1to100

s=s+n

ifs>500

exit

endif

endfor

?

s

settalkon

return

 

10.求12000以内能同时被13和17整除的数的和。

填空完成程序,然后运行程序得出正确结果。

(答案填程序运行结果,保留整数位)

SETTALKOFF

CLEAR

I=1

S=0

DOWHILEI<12000

IF___________

S=S+I

ENDIF

__________

ENDDO

?

S

SETTALKON

RETURN

11.有十进制数字a,b,c,d和e,它们满足下列式子:

abcd*e=bcde(a不等于0,e不等于0或1),求满足上述条件的所有四位数bcde的和。

 

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

settalkoff

clear

s=0

t=0

forn=1to100

s=s+1/n

t=t+s

ift>=1.9

exit

endif

endfor

?

n-1

settalkon

return

13.大马、小马和马驹共100匹,大马一驮三,小马一驮二,马驹二驮一,共100片瓦一次驮完,三种马都驮,共有多少种组合。

填空完成程序,然后运行程序得出正确结果。

(答案填程序运行结果,保留整数位)

SETTALKOFF

CLEA

S=0

DM=1

DOWHILEDM<=100/3

XM=1

DOWHILEXM<=(100-DM*3)/2

MJ=100-DM-XM

IF____________

S=S+1

ENDIF

__________

ENDDO

DM=DM+1

ENDDO

?

S

RETU

 

14.求500以内(含500)能被5或9整除的所有自然数的倒数之和。

按四舍五入的方式精确到小数点后第二位。

 

15.程序改错题

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

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

settalkoff

clear

a=1.00000000

s=0.00000000

forn=1to100

a=a*n

s=s+a

ifs<=1.71828

exit

endif

endfor

?

n

settalkon

return

 

16.程序填空题

v求40000以内不能被13整除的数的个数。

填空完成程序,然后运行程序得出正确结果。

(答案填程序运行结果,保留整数位)

SETTALKOFF

CLEAR

I=1

S=0

DOWHILE.T.

IF__________

S=S+1

ENDIF

IF__________

EXIT

ENDIF

I=I+1

ENDDO

?

S

SETTALKON

RETU

17.程序设计题

求[2,400]中相差为10的相邻素数对的对数。

 

若某整数平方等于某两个正整数平方之和的正整数称为弦数。

例如:

由于3^2+4^2=5^2,则5为弦数,求[100,199]之间最大的弦数。

已知数列:

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

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

settalkoff

clear

a=0

s=0

forn=1to100

a=a+n

s=s+a

*?

n,a,s

ifs>800

exit

endif

endfor

?

n

settalkon

return

求[1000,3000]范围内满足这样条件的数的个数:

这个数的所有因子之和(不包括这个数本身)能够被3整除。

填空完成程序,然后运行程序得出正确结果。

(答案填程序运行结果,保留整数位)

settalkoff

clea

count1=0

fori=1000to3000

sum2=0

forj=1toi-1

ifi%j=0

____________

endif

endfor

if____________

count1=count1+1

endif

endfor

?

count1

retu

设某四位数的各位数字的平方和等于100,问满足这种条件的四位数且是素数的数共有多少个?

settalkoff

clea

n=0

forx=1000to9999

f=1

fori=2toint(sqrt(x))

ifmod(x,i)=0

f=0

exit

endif

endfor

iff=0

a=int(x/1000)

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

c=mod(x,100)

d=mod(x,10)

ifa*a+b*b+c*c+d*d=100

n=n+1

求[1000,3000]范围内满足这样条件的数之和:

这个数的所有因子之和(不包括这个数本身)能够被17整除。

填空完成程序,然后运行程序得出正确结果。

(答案填程序运行结果,保留整数位)

settalkoff

clea

sum1=0

fori=1000to3000

sum2=0

forj=1toi-1

ifi%j=0

______________

endif

endfor

ifsum2%17=0

______________

endif

endfor

?

sum1

retu

 

当n=50时,求下列级数和:

S=1/(1*2)+1/(2*3)+…+1/(n*(n+1))

要求:

按四舍五入的方式精确到小数点后第四位。

已知数列:

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

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

settalkoff

clear

a=0

s=0

forn=1to100

a=a+n

s=s+a

*?

n,a,s

ifs>800

exit

endif

endfor

?

n

settalkon

return

已知S1=2,S2=2+4,S3=2+4+6,S4=2+4+6+8,S5=2+4+6+8+10,…,求S=S1+S2+S3+S4+S5+…+S20的值。

 

出[13,1300]之间非素数非偶数之和。

settalkoff

clear

s=0

fori=13to1300

forj=2toi

ifmod(i,j)=0ormod(i,2)=1

s=s+i

exit

endif

endfor

endfor

?

s

settalkon

return

 

求能被6整除且有一位数字为8的三位数的和。

填空完成程序,然后运行程序得出正确结果。

(答案填程序运行结果,保留整数位)

SETTALkOFF

CLEA

S=0

X=100

DOWHILEX<999

IF___________

A=INT(X/100)

B=INT(X/10)-A*10

C=X-A*100-B*10

IF___________

___________

ENDIF

ENDIF

X=X+1

ENDDO

?

S

RETU

 

当m的值为50时,计算下列公式的值:

T=1-1/2-1/3-1/4-…-1/m

要求:

按四舍五入的方式精确到小数点后第四位。

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

settalkoff

clear

s=0

forn=1to100

a=n*2*(n+1)

s=s+a

ifs>=10000

loop

endif

endfor

?

n-1

settalkon

return

 

(A,B)满足条件A是素数,B是素数,A+B的和也是一个素数,又777>B>A>=2。

求这样的(A,B)中所有A的和是多少。

填空完成程序,然后运行程序得出正确结果。

(答案填程序运行结果,保留整数位)

settalkoff

clea

sum1=0

fora=2to777

forb=a+1to777

if________________

sum1=_______________

endif

endfor

endfor

?

sum1

retu

functionsu(x)

forj=2tosqrt(x)

ifx%j=0

return(.f.)

endif

endfor

求方程9x+4y=2000的所有正整数解的|x-y|的最大值。

clear

max=2000/4-2000/9

forx=1to230

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

z=abs(x-y)

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

max=z

endif

endfor

?

max

settalkon

return

下列程序的功能是求500到1000之间的所有奇数的平方和并显示结果。

填空完成程序,然后运行程序得出正确结果。

(答案填程序运行结果,保留整数位)

SETTALKOFF

CLEAR

Sum=0

x=500

DOWHILEx<=1000

IF_________

Sum=__________

ENDIF

__________

ENDDO

?

Sum

RETU

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

settalkoff

clear

s=0

forx=200to800

ifmod(x,3)=1ormod(x,5)=3

s=s+1

endif

endfor

?

s

settalkon

return

fibonacci数列:

fib

(1)=1,fib

(2)=1,fib(n)=fib(n-1)+fib(n-2)n>=3。

求数列中第一个大于100的素数项是数列的第几项。

填空完成程序,然后运行程序得出正确结果。

(答案填程序运行结果,保留整数位)

clea

dimefib(100)

fib

(1)=1

fib

(2)=1

________________

dowhile.t.

fib(i)=fib(i-1)+fib(i-2)

if_____________________

?

i

exit

endif

i=i+1

enddo

retu

functionsu(x)

forj=2tosqrt(x)

ifx%j=0

return(.f.)

endif

endfor

ifj>sqrt(x)

return(.t.)

endif

若两个自然连续数乘积减1后是素数,则称此两个自然连续数为友数对,该素数称为友素数,例:

2*3-1=5,因此2与3是友数对,5是友素数,求[40,119]之间友素数对的数目。

 

settalkoff

clear

s=0

forx=100to999

a=int(x/100)

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

c=mod(x,1)

ifmod(a*b*c,96)=0

s=s+x

endif

endfor

?

s

settalkon

return

 

求[1,50]之间,所有能构成直角三角形的三边的整数的组数。

例如:

3*3+4*4=5*5,它们构成直角三角形,所以{3,4,5}作为一组,但{4,3,5},{5,4,3}等视为跟{3,4,5}相同的一组。

填空完成程序,然后运行程序得出正确结果。

(答案填程序运行结果,保留整数位)

settalkoff

clea

____________

fori=1to50

forj=i+1to50

fork=j+1to50

if_______________

count1=count1+1

endif

endfor

endfor

endfor

?

count1

retu

若(x,y,z)满足方程:

x^2+y^2+z^2=55^2(注:

要求x>y>z),则(x,y,z)称为方程的一个解。

试求方程的所有整数解中x+y+z的最大值。

 

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

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=f2

f2=f1

endfor

?

n

settalkon

return

求1234680的因子中素数因子的和是多少。

填空完成程序,然后运行程序得出正确结果。

(答案填程序运行结果,保留整数位)

 

settalkoff

clea

sum1=0

fori=2to1234680

if_________________

sum1=________________

endif

endfor

?

sum1

retu

functionsu(x)

forj=2tosqrt(x)

ifx%j=0

return(.f.)

endif

endfor

ifj>sqrt(x)

return(.t.)

endif

[300,800]范围内同时满足以下两个条件的十进制数.⑴其个位数字与十位数字之和除以10所得的余数是百位数字;⑵该数是素数;求满足上述条件的最大的三位十进制数。

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

settalkoff

clea

n=0

forI=1to10000

sw=mod(I,10)

ifsw=6

ifmod(I,10)=9

n=n+I

endif

endif

endfor

?

N

return

 

已知A,B为正整数,A

填空完成程序,然后运行程序得出正确结果。

(答案填程序运行结果,保留整数位)

settalkoff

clea

min1=2698

fora=1to2698

forb=a+1to2698

if_____________

if_______________

min1=a+b

endif

endif

endfor

endfor

?

min1

Retu

 

已知

F(0)=F

(1)=0

F

(2)=1

F(n)=F(n-1)-2F(n-2)+F(n-3)(n>2)

求F(0)到F(100)中负数的个数。

 

下面的程序是求[200,800]之间最大的20个素数之和。

请修改程序中的错误,使它能得出正确的结果,并给出正确结果。

程序:

#include

#include

#include

intfun(inthigh)

{intsum=0,n=0,j,yes;

while((high>=2)||(n<20))

{yes=1;

for(j=2;j<=sqrt(high);j++)

if(high%j==0){yes=0;break;}

if(yes)

sum+=high;n++;

high--;

}

returnsum;

}

main()

{clrscr();

printf("%d\n",fun(800));

}

已知24有8个因子,而24正好被8整除。

求[10,200]之间有多少个整数能被其因子的个数整除,将下列程序补充完整,把程序运行的正确结果填入相应窗口。

程序:

main()

{

inta,b,c,n,count=0;

for(a=10;a<=200;a++)

{

________

for(c=1;c<=a;c++)

if(a%c==0)

________

if(a%b==0)

{

count++;

}

}

printf("%d",count);

}

求Y=1-1/2+1/3-1/4+1/5...前30项之和。

要求:

按四舍五入的方式精确到小数点后第二位。

 

已知数列:

1、2、4、7、10、15、…,其特点是:

相邻两项之差恰好构成自然数列:

1、2、3、4、5、…。

求此数列的前100项中能被4整除的项的个数。

settalkoff

clear

a=1

k=0

forn=1to100

a=a+n

ifmod(n,4)=0

k=k+1

endif

endfor

?

k

settalkon

return

求在1,2,3,…,80这80个数中,任意选两个不同的数,它们的和能被4和9整除的数的总对数(1+35和35+1认为是同一对数)。

填空完成程序

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

当前位置:首页 > 初中教育

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

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