程序.docx
- 文档编号:8572393
- 上传时间:2023-01-31
- 格式:DOCX
- 页数:42
- 大小:26.43KB
程序.docx
《程序.docx》由会员分享,可在线阅读,更多相关《程序.docx(42页珍藏版)》请在冰豆网上搜索。
程序
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认为是同一对数)。 填空完成程序
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 程序