1樓:老子是張餅
1、聽說這題用輾轉相除法很好,不過我不會。
varx,y,i:integer;
begin
readln(x,y);
for i:=x downto 1 do
if y mod i=0 then
begin
writeln(i);
break;
end;
readln;
end.
2、硬找
varn,i,k:integer;
begin
readln(n);
for i:=1 to trunc(sqrt(n)) doif n mod i=0 then
inc(k);
k:=k*2;
if trunc(sqrt(n))=sqrt(n) thendec(k);
writeln(k);
end.
3、這題簡單但是很麻煩。首先要知道2023年1月1日是星期一。……
2樓:
【題目】求兩個正整數的最大公約數
【演算法】用輾轉相除法 (參看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;
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');
vardays,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;
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');
vardays,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.
pascal 輸入兩個正整數,,求最大公約數值和最小公倍數。
3樓:新超級賽亞人
最大公約數:
function zdgys(a,b:integer):integer;
begin
if a mod b=0 then zdgys:=belse zdgys:=zdgys(b,a mod b);
end;
vara,b:integer;
begin
readln(a,b);
writeln(zdgys(a,b));
end.
最小公倍數
vara,b,t:integer;
begin
readln(a,b);
if awhile a mod b <>0 do a:=a+1;
writeln(a);
end.
4樓:水疏奈雅
題目不清楚,問問老師,老師會告訴你的
pascal求最大公約數
5樓:遊海穎
求兩個整數的最大公約數(輾轉相除法)
程式如下:
varm , n : integer;
function fac(i, j:integer):integer;
begin
if j=0 then begin fac:=i;exit;end;
fac:=fac(j ,i mod j);
end;
begin
readln(n, m);
writeln(fac(n,m));
end.
或var
a,b:integer;
procedure qw(a,b:integer);
varv:integer;
begin
if a mod b=0 then writeln(b)else if b mod a=0 then writeln(a)else
begin
v:=a;
a:=a mod b;
b:=b mod v;
qw(a,b);
end;
end;
begin
readln(a,b);
qw(a,b);
readln;
end.
6樓:
把第3行的1..n改為1..10(要一個定值,在var下的都是變數,他會認為你的陣列相當的大,超過了計算機能處理的範圍)
pascal輸入n個正整數求它們的最大公約數。快!
7樓:匿名使用者
var ans,n,r,i,t:longint;
function work(a,b:longint):longint;
begin
if a mod b=0 then work:=belse work:=work(b,a mod b);
end;
begin
readln(n);
read(ans);
for i:=2 to n do
begin
read(r);
if r
ans:=work(r,ans);
end;
writeln(ans);
end.
c語言程式設計:輸入兩個正整數m和n,求它們的最大公約數。
8樓:超級
#include
void main()
c = a % b;
}printf("最大公約數:%d", b);
} // 輸入 20 60;輸出 20
9樓:註冊註冊冊
main()
a=num1,b=num2;
while(b!=0)/*輾轉取餘演算法*/printf("它們的最大公約數為:%d\n",a);
printf("它們的最小公倍數為:%d\n",num1*num2/a);/*兩數相乘除最大公約數就是最小公倍數*/}
10樓:匿名使用者
比較簡單的做法
#include "stdio.h"
void main()
11樓:四方袁走
#include
int main()
return 0;}
用兩個電機做發電機,怎麼做?用兩個馬達發電
這是另類永動機設想 多少年來都有人在不懈地努力 但至近成效不大 有人在高真空裡將兩個電機同軸相饋 能轉一會 據說韓國人搞的廷神 你可到網上查一下 這做為一個設想是不錯 但實際問題還是無法解決 常規下不存在1 1的功率轉換 我們去不掉無功損耗 除非在超導實驗室裡 但那並無實用意義 你是想 一個電機的轉...
用兩個多麼造句,用兩個也造句
您好!童年多麼快樂,多麼自由 一個人是多麼的孤獨,多麼的冷清 多麼美麗,多麼漂亮的花啊!小明看書多麼認真,多麼仔細啊!無論前路多麼的漫長,過程多麼的艱辛,我都不會放棄並堅定地走下去 天空悠悠飄落的雪,是多麼地純潔,多麼地晶瑩剔透啊.那熊熊燃燒的火把,是多麼熱烈多麼令人心潮澎湃.春天是多麼瑰麗的季節,...
用兩個又造句,用兩個又字造句
我有一個又大又紅的蘋果 一天由十二點開始又由十二點結束 用兩個又字造句 1 孩子們又活潑又漂亮,就像春天裡的花蕾。2 姐姐經常穿一件米色的外套,顯得又樸素又大方。3 巴兒狗又搖頭又擺尾的,在主人跟前撒起嬌來。我既漂亮,又美麗,又聰明 希望我的答案能幫助到您。1 孩子們又活潑又漂亮,就像春天裡的花蕾。...