永发信息网

free pascal编程:最大公约数,两种程序。求大师来讲解一下。

答案:2  悬赏:70  手机版
解决时间 2021-02-08 00:49
> 这里uses crt是什么意思啊? var n; 这里我知道是清屏的意思; while (m mod x if m>,还有一种是这样的 uses crt;);0) do begin dec(x); end; writeln(',那像这样的函数有几个啊,都写出来好吗? readln(n。。;0)or(n mod xn then x; End:=m+1; 这里会不同呢 Repeat X:=x-1; Until (m mod x=0) and (n mod x=0)
最佳答案
是则结束,不是则减一,如此循环1、uses crt是表示要调用crt单元;
2、clrscr是清屏的意思,这种对dos屏幕、键盘的操作过程或函数可查有关资料。这种方法本质上是暴力算法,效率肯定比辗转相除法低;
4、while是当型循环。但这些内容对于windows编程并无帮助;
3、这种方法本身是先假定较小的那个数为最大公约数,再判断它是不是
全部回答
【题目】求两个正整数的最大公约数 【算法】用辗转相除法 (参看p40例3) 【参考程序】 var m,n,r,t:integer; begin writeln('input m,n'); readln(m,n); if (n<=0) or (m<=0) then begin writeln('error!');halt;end; if m0 do begin m:=n; 【问题】任给一个自然数n,求出这个自然数不同因数的个数。 例如 n=6时,因为1,2,3,6这四个数均是6的因数,故输出为total=4。 【算法】类似判断素数的方法。 如果发现n有一个≤sqr(n)的因数,必然同时有一个≥sqr(n)的因数。 例如:6有一个因数2,则必有另一因数3。因为2*3=6 【参考程序】 var n,nums,k,i:longint; begin repeat writeln('input n:'); readln(n); if n<=0 then writeln('n>0!!'); until n>0; k:=trunc(sqrt(n)); nums:=2; for i:=2 to k do if n mod i=0 then nums:=nums+2; if n=sqr(k) then dec(nums); writeln('nums:',nums); end. 【题目】输入年、月、日,求这一天是星期几。 【参考程序1】 【算法提要】求出这一天离公元1年的元旦有多少天days,然后对7求余 const first=1; {公元1年为基准} first_week=1; {公元1年的元旦为星期一} yue:array[1..12] of 1..31=(31,28,31,30,31,30,31,31,30,31,30,31); week_:array[0..6] of string[20] =('sunday','monday','tuesday','wedsday', 'thursday','friday','saturday'); var days,week,year,month,date,i,years:longint; begin writeln('year:');readln(year); writeln('month');readln(month); writeln('date');readln(date); years:=0; days:=0; for i:=first to year-1 do if (i mod 400=0) or (i mod 4=0) and (i mod 100<>0) then begin years:=years+1;end; {注意处理闰年的情况} days:=(year-first)*365+years; {离基准年过了多少天} for i:=1 to month-1 do days:=days+yue[i]; {本年过了多少个月} for i:=1 to date do days:=days+1; {本月过了多少天} if ((year mod 400=0) or (year mod 4=0) and (year mod 100<>0)) and (month>3) then days:=days+1; {如果本年为闰年,且月份超2月, 还要考虑加1} week:=((days-1) mod 7 +first_week ) mod 7; {求星期数} writeln('it is ',week_[week]); readln; end. 【参考程序2】 用公式法: days:=trunc((year-1)*(1+1/4-1/100+1/400)+c) 用求出的days对7求余数。其中c为该天离该年元旦的天数 const first=1; first_week=1; yue:array[1..12] of 1..31=(31,28,31,30,31,30,31,31,30,31,30,31); week_:array[0..6] of string[20] =('sunday','monday','tuesday','wedsday', 'thursday','friday','saturday'); var days,week,year,month,date,i:longint; begin writeln('year:');readln(year); writeln('month');readln(month); writeln('date');readln(date); days:=0; for i:=1 to month-1 do days:=days+yue[i]; for i:=1 to date do days:=days+1; if ((year mod 400=0) or (year mod 4=0) and (year mod 100<>0)) and (month>3) then days:=days+1; days:=trunc((year-1)*(1+1/4-1/100+1/400)+days); week:=days mod 7; writeln('it is ',week_[week]); readln; end.
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
名仕家园(峨嵋中路店)地址在哪,我要去那里办
死了的人留下的芝麻糊等吃的他的亲人可以吃吗
正在看韩国颁奖礼,请问什么是本赏什么是大赏
古月怎么去啊,我要去那办事
They explain that,
为什么q宠大乐斗我比别人等级高血却比别人少,
光华美发地址在哪,我要去那里办事
印象美发沙龙地址有知道的么?有点事想过去
【sizable】...healthinsuranceplansofferedb
花雨时尚造型设计地址好找么,我有些事要过去
成都市高新区科华南路339号公交线路
森记正宗高唐老豆腐清河店我想知道这个在什么
潮牌日系沙龙地址在哪,我要去那里办事
苏州明鑫纺织厂我想知道这个在什么地方
首语工坊(东门店)地址有知道的么?有点事想过
推荐资讯
情情网吧地址在什么地方,想过去办事
如果用按键精灵怎么设置图片重命名按键
海尔洗衣机xqs50-0566插上电源后启动后只是嗡
市场经济是法制经济,是说市场经济具有CA. 平
丽都汽车贸易有限公司地址在什么地方,想过去
知音教育(白云校区)地址在哪,我要去那里办事
美人松练歌厅怎么去啊,我要去那办事
2019年新课程同步练习五年级语文上册人教版答
金山鸽业怎么样
农历2006年9月初十是公历几时
月月美甲地址在什么地方,想过去办事
求大神告知1990年农历正月初9那天是几点几时
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?