- 1、本文档共7页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
暑期作业暑期作业
程序设计试题
(经常碰到的判断是否为素数、是否为回文数、求两个数的最大公约数、求两个数的
最小公倍数等问题的子函数源程序,请务必记住!)
①判断是否为素数,若是素数则返回true ,若不是素数则返回false:
function prime(x:longint):boolean;
var
j,y:longint;
begin
prime:=true;
if x2 then prime:=false;
y:=trunc(sqrt(x));
for j:=2 to y do
if (x mod j = 0) then
begin prime:=false; exit; end;
end;
②判断是否为回文数,若是回文数则返回true ,若不是回文数则返回false:
function huiwen(n:longint):boolean;
var
m,i,j:longint;
a:array[1..10] of integer;
begin
if n0 then begin huiwen:=false; exit; end;
m:=n; i:=0; huiwen:=true;
repeat
i:=i+1;
a[i]:=m mod 10;
m:=m div 10;
until m=0;
for j:=1 to (i div 2) do
if a[j]a[i-j+1] then
begin huiwen:=false; exit; end;
end;
③求最大公约数子函数,返回两个正整数的最大公约数,采用辗转相除法算法;
function gcd(a,b:longint):longint;
begin
if b=0 then gcd:=a
else gcd:=gcd(b,a mod b);
end;
④求最小公倍数:lcm=a*b div gcd(a,b);
1 1 1
1 -6
1、利用格利高公式求π。 ,直到最后一项的值小于10 为止。
4 3 5 7
(答案:3.1415946569E+00)
2 、试编写能够打印输出如下图形的程序。
AAAAAAAAA
AAAAAAA
AAAAA
AAA
A
3、任意输入一个正整数,颠倒输出该数。
2 2 2 2
4 、编写程序求出下式中n 的最大值:2 +4 +6 +„+n 1500 。
(答案:18)
5、编写程序求最小正整数m 、n (0nm )为何值时,1989m 与1989n 的最后三位数
字相同?
算法:这类数字很大且有效数字位数很多(超出最多有效位数 extended 数据类型有
效数字 18 位)的数字问题,一定要另辟蹊径寻找突破口,注意到此题只要求最后三位数
字相同,则我最多保留最后四位有效数字即可进行判断。还请记住这样一个事实,如 1989
×1989 =3956121,3956121 ×1989 =7868724669,最后四位数字是“4669”,而我把3956121
取其最后
文档评论(0)