1 / 18

习题专题

习题专题. 第二节. 编写程序,求 100~1000 之间能被 7 整除的数 , 每行输出 10 个 。. 输入一个数 n ,判断是否素数,如是输出 yes ,否输出 no. 求 1 - 100 之间的所有素数.  分析:我们可对 1 - 100 之间的每一整数进行判断,判断它是否为素数,是则输出。而对于任意整数 i ,根据素数定义,我们从 2 开始,到 ,找 i 的第一个约数。若找到第一个约数,则 i 必然不是素数。否则 i 为素数。. 除了 1 与本身外再没有其它约数.

fai
Download Presentation

习题专题

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 习题专题 第二节

  2. 编写程序,求100~1000之间能被7整除的数,每行输出10个。编写程序,求100~1000之间能被7整除的数,每行输出10个。

  3. 输入一个数n,判断是否素数,如是输出yes ,否输出no

  4. 求1-100之间的所有素数  分析:我们可对1-100之间的每一整数进行判断,判断它是否为素数,是则输出。而对于任意整数i,根据素数定义,我们从2开始,到 ,找i的第一个约数。若找到第一个约数,则i必然不是素数。否则i为素数。

  5. 除了1与本身外再没有其它约数 program dasf; var n,m,i:integer; f:boolean;  begin  f:=true    for n:=2 to 100 do   begin for m:=2 to n-1 do if n mod m=0 then  f:=false; if f=true then  write(n);  end;  end.

  6. var n,m,i:integer;  f:boolean;  begin f:=true    for n:=2 to 100 do begin for m:=2 to trunk(sqrt(n)) do begin if n mod m=0 then f:=false; break; end; if f=true then  write(n);  end; end. 改进

  7. 参考程序 var i,x : integer; beginfor i:=1 to 100 dobeginx:=2;while (x<=trunc(sqrt(i)))and(i mod x<>0)dox:=x+1;if x>=trunc(sqrt(i)) then write(i:8);end; end.

  8. 求两个整数a与b的最大公约数 穷举法 Var a,b,i,t:integer; begin readln(a,b); if a<b then begin {比较A,B的大小,如果a<b那么交换两个数字} t:=a; a:=b; b:=t; end; for i:=b downto 1 do {从B开始判断,每次减少一个,直到找到为止} if (a mod i=0)and(b mod i=0) then begin writeln(i); break; {找到了最大公约数,强行退出循环} end; end.

  9. 辗转相除判余法 分别用m,n,r表示被除数、除数、余数。 ①求m/n的余数r. ②若r=0,则n为最大公约数.若r≠0,执行第③步. ③将n的值放在m中,将r的值放在n中. ④返回重新执行第①步。 program exam4; var m,n,a,b,t,r:integer; begin readln(m,n); if m<n then begin t:=m;m:=n;n:=t end; (使m放大数, n放小数) r:=a mod b; while r<>0 do begin m:=n;n:=r; r:=m mod n; end; writeln('The greatest common divide is:',n:8); end.

  10. 有一种Fibonaccl数列0,1,1,2,4,7...其规律为第一、二、三个数为0,1,1,从第四个数起,各数为其前面3个数之和,要求输出此数列中前60个数。有一种Fibonaccl数列0,1,1,2,4,7...其规律为第一、二、三个数为0,1,1,从第四个数起,各数为其前面3个数之和,要求输出此数列中前60个数。 讨论 http://www.jrmama.com/dispbbs.asp?boardID=67&ID=6994&page=3

  11. 输入一个不大于32767的正整数N,将它转换成一个二进制数。算法:除2取余,反序输出例如:输入:100输出: 1100100

  12. 1.编程找出四位整数abcd中满足下述关系的数(ab+cd)(ab+cd)=abcd1.编程找出四位整数abcd中满足下述关系的数(ab+cd)(ab+cd)=abcd 提醒:这题属于搜索问题,四位数,范围从1000到9999,还要考虑到如何将四位数高两位与低两位分开。

  13. 穷举所有符合第一个条件的数,然后拆分高两位与低两位,代入公式,如成立成为输出穷举所有符合第一个条件的数,然后拆分高两位与低两位,代入公式,如成立成为输出

  14. 从高低两位数入手

  15. 从每位数入手 讨论形成的过程http://www.jrmama.com/dispbbs.asp?boardID=67&ID=6875&page=4

  16. 右三角的九九表乘法表

More Related