文档详情

【2017年整理】程序答案.doc

发布:2017-02-04约4.26万字共48页下载文档
文本预览下载声明
1.求100-550内的所有素数的个数。(素数是指只能被1和本身整除的数) set talk off clea n=0 for i=100 to 550 f=1 for j=2 to i if mod(i,j)=0 f=0 loop endif endfor if f=1 n=n+1 endif endfor ? n return 76 2.下面程序求1!+3!+5!+…+(2K+1)!,要求在其和大于20000时中止程序运行。填空完成程序,然后运行程序得出正确结果。(答案填程序运行结果,保留整数位) CLEA I=0 S=0 DO WHILE .T. I=I+1 IF I/2=__0_ LOOP//退出此循环 ENDIF J=1 SUB=1 DO WHILE J=I ___SUB=SUB*J________ J=J+1 ENDDO S=S+SUB IF S20000 EXIT//退出程序 ENDIF ENDDO ? S 3. 求100-550内的所有素数的个数。(素数是指只能被1和本身整除的数) SET TALK ON RETU set talk off clea n=0 for i=100 to 550 f=1 for j=2 to i if mod(i,j)=0 f=0 loop endif endfor if f=1 n=n+1 endif endfor ? n return 4.判断正误 求方程9x+4y=2000的所有正整数解的|x-y|的最小值。 源程序文件:C:/SudenntHNCRE/2010706012520040/Program set talk off clear min=0 for x=1 to 230 y=int((1000-9*x)/4) z=abs(x-y) if 9*x+4*y=1000 and y0 and minz min=z endif endfor ? min set talk on return 5.程序填空 求能被3整除且有一位数字为6的三位数的个数。填空完成程序,然后运行程序得出正确结果。(答案填程序运行结果,保留整数位) 程序文件:C:/SudenntHNCRE/2010706012520040/Program/2.prg SET TALk OFF CLEA S=0 X=100 DO WHILE X999 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)。 SET TALK OFF CLEA INPUT 请输入N: TO N DIME F(N) F(1)=1 F(2)=2 F(3)=3 S=F(1)+F(2)+F(3) for i=4 to n F(I)=F(I-1)+2*F(I-2)-5*F(I-3) S=S+F(I) ENDFOR ?S RETURN -750874 7.求出[1000,10000]内所有能被147或者197整除的整数之和。 #includeiostream.h #includemath.h class addition { long I,a,b,c,d,sum,count,abs_sub,max,min; public: addition(long a1,long b1,long c1,long d1){ a=a1;b=b1;c=c1;d=d1;} void solution(){ for(I=a;I=b;I++) if((I%c==0I%d!=0)||(I%c!=0I%d==0)){ sum=sum+I; } } void add_sum()//求整数和 { coutsum is:sumendl; } }; void main() { addition obj(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; } void solution_add_abs()//和的绝对值 { switch(solution_count) { case 1:coutsolution add abs is:abs(xs
显示全部
相似文档