180 likes | 357 Views
习题专题. 第二节. 编写程序,求 100~1000 之间能被 7 整除的数 , 每行输出 10 个 。. 输入一个数 n ,判断是否素数,如是输出 yes ,否输出 no. 求 1 - 100 之间的所有素数. 分析:我们可对 1 - 100 之间的每一整数进行判断,判断它是否为素数,是则输出。而对于任意整数 i ,根据素数定义,我们从 2 开始,到 ,找 i 的第一个约数。若找到第一个约数,则 i 必然不是素数。否则 i 为素数。. 除了 1 与本身外再没有其它约数.
E N D
习题专题 第二节
编写程序,求100~1000之间能被7整除的数,每行输出10个。编写程序,求100~1000之间能被7整除的数,每行输出10个。
输入一个数n,判断是否素数,如是输出yes ,否输出no
求1-100之间的所有素数 分析:我们可对1-100之间的每一整数进行判断,判断它是否为素数,是则输出。而对于任意整数i,根据素数定义,我们从2开始,到 ,找i的第一个约数。若找到第一个约数,则i必然不是素数。否则i为素数。
除了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.
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. 改进
参考程序 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.
求两个整数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.
辗转相除判余法 分别用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.
有一种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
输入一个不大于32767的正整数N,将它转换成一个二进制数。算法:除2取余,反序输出例如:输入:100输出: 1100100
1.编程找出四位整数abcd中满足下述关系的数(ab+cd)(ab+cd)=abcd1.编程找出四位整数abcd中满足下述关系的数(ab+cd)(ab+cd)=abcd 提醒:这题属于搜索问题,四位数,范围从1000到9999,还要考虑到如何将四位数高两位与低两位分开。
穷举所有符合第一个条件的数,然后拆分高两位与低两位,代入公式,如成立成为输出穷举所有符合第一个条件的数,然后拆分高两位与低两位,代入公式,如成立成为输出
从每位数入手 讨论形成的过程http://www.jrmama.com/dispbbs.asp?boardID=67&ID=6875&page=4