Viết thuật toán nhập vào 2 số M và N thuộc kiểu số nguyên.
a. Tìm ước chung lớn nhất của 2 số M và N.
b. Tìm bội chung nhỏ nhất của 2 số M và N.
Giúp mình viết chương trình với ctc với ạ
Câu 1: Tìm ước chung lớn nhất của 2 số m,n nguyên dương?
Câu 2: Tìm bội chung nhỏ nhất của 2 số m,n nguyên dương?
Câu 1:
uses crt;
var m,n,ucln,i:integer;
begin
clrscr;
write('Nhap m='); readln(m);
write('Nhap n='); readln(n);
ucln:=1;
if m<n then
begin
for i:=1 to m do
if (m mod i=0) and (n mod i=0) then
begin
if ucln<i then ucln:=i;
end;
end
else begin
for i:=1 to n do
if (m mod i=0) and (n mod i=0) then
begin
if ucln<i then ucln:=i;
end;
end;
writeln(ucln);
readln;
end.
Câu 2:
uses crt;
var m,n,bcnn,i:integer;
begin
clrscr;
write('Nhap m='); readln(m);
write('Nhap n='); readln(n);
bcnn:=m*n;
for i:=m*n-1 downto 1 do
if (i mod m=0) and (i mod n=0) then
begin
if bcnn>i then bcnn:=i;
end;
writeln(bcnn);
readln;
end.
BCNN:
program boichung;
var m,n: word;
procedure Input;
begin
readln(m,n);
end;
function BC(m,n: word): word;
var i: word;
begin
for i := 1 to n * m do
if (i mod n = 0) and (i mod m = 0) then
write(i,' ');
end;
begin
Input;
BC(m,n);
end.
UCLN:
program UCLN;
var m,n,r,i: longint;
begin
readln(n,m);
n := abs(n);
m := abs(m);
if (n = 0) then
begin
i := 1;
write(m);
end
else
if (m = 0) then
begin
i := 1;
write(n);
end;
r := n mod m;
while r <> 0 do
begin
r := n mod m;
n:= m;
m:= r;
end;
if (i = 0) then
write(n);
readln
end.
Câu 1: Tìm ước chung lớn nhất của 2 số m,n nguyên dương,tìm bội chung nhỏ nhất của 2 số m,n nguyên dương?
nhanh nhanh mik với nhe
#include <bits/stdc++.h>
using namespace std;
long long m,n;
//chuongtrinhcon
long long ucln(long long m,long long n)
{
if (n==0) return(m);
else return(ucln(n,m%n));
}
//chuongtrinhchinh
int main()
{
cin>>n>>m;
cout<<ucln(n,m);
return 0;
}
Câu 1: Tìm ước chung lớn nhất của 2 số m,n nguyên dương,tìm bội chung nhỏ nhất của 2 số m,n nguyên dương? Làm bằng pascal nhe
nhanh nhanh mik với nhe
Câu 1: Tìm ước chung lớn nhất của 2 số m,n nguyên dương,tìm bội chung nhỏ nhất của 2 số m,n nguyên dương? Làm bằng pascal nhe
nhanh nhanh mik với nhe
viết chương trình nhập vào 2 số nguyên dương m và n thông báo ra màn hình ước chung lớn nhất của 2 số vừa nhập.
#include <bits/stdc++.h>
using namespace std;
long long a,b;
//chuongtrinhcon
long long ucln(long long a,long long b)
{
if (b==0) return(a);
else return(ucln(b,a%b));
}
//chuongtrinhchinh
int main()
{
cin>>a>>b;
cout<<ucln(a,b);
return 0;
}
a) Nhập vào hai số nguyên a và b (1≤ a,b ≤ 109). Tính và in lên màn hình ước chung lớn nhất(UCLN) v à bội chung nhỏ nhất (BCNN) của a,b.
b)Dãy số fibonacy được định nghĩa như sau:
f1=f2=1
fn=fn-1+fn-2 (với n >=3)
Hãy viết chương trình in ra n số đầu tiên của dãy fibonacy.
Dữ liệu nhập:là số nguyên n (1<=n<=30)
Dự liệu xuất: là n số fibonacy đầu tiên trên cùng một dòng, mỗi số cách nhau một khoảng trắng.
a)
program UCLN_va_BCNN;
uses crt;
var a,b,c,r,p:integer;
begin
clrscr;
write('nhap a,b:');readln(a,b);
if a<b then
begin
c:=a;
a:=b;
b:=c;
end;
p:=a*b;
r:=a mod b;
while r<>0 do
begin
a:=b;
b:=r;
r:=a mod b;
end;
writeln('UCLN la: ',b);
writeln('BCNN la: ',p div b);
readln;
end.
b)
program fibonaci;
uses crt;
var i,n:integer;
a:array[1..30]of integer;
begin
clrscr;
repeat
write('nhap n:');readln(n);
if (n<1)or(n>30) then writeln('so n phai lon hon hoac bang 1 va nho hon hoac bang 30:);
until (n>=1)and(n<=30);
a[1]:=1;
a[2]:=1;
for i:=3 to n do
a[i]:=a[i-1]+a[i-2];
writeln(n,' so fibonaci dau tien la:');
for i:=1 to n do
write(a[i]:3);
readln;
end.
Cho n là số tự nhiên . Tìm ước chung lớn nhất và bội chung nhỏ nhất của n và n + 2 ?
- Gọi d là ước chung lớn nhất của n và n + 2
=> n chia hết d và n + 2 chia hết d
=> ( n + 2 ) - n chia hết d
=> 2 chia hết d
=> d = 1 hoặc 2
Nếu n lẻ => d = 1
Nếu n chẵn => d = 2
Vậy ước chung lớn nhất của n và n + 2 là 1 hoặc 2
Ta có : Nếu ước chung lớn nhất của n và n + 2 = 1
thì bội chung nhỏ nhất của n và n +2 = n(n+2)
Nếu ước chung lớn nhất của n và n +2 là 2
thì bội chung nhỏ nhất của n và n +2 = n(n+2) : 2
Làm như thế này có đúng không vậy ?
tự cho câu hỏi rồi tự giải luôn kìa
giúp mình viết thuật toán tìm bội số chung nhỏ nhất của 2 số A và B , biết A và B nguyên dương . Mình cảm ơn ạ
Số nguyên dương p𝑝 gọi ước số chung lớn nhất của n𝑛 𝑣à m𝑚 khi m𝑚 𝑣à n𝑛 cùng chia hết cho p𝑝 và p𝑝 là lớn nhất. Viết chương trình nhập vào hai số nguyên dương n,m𝑛,𝑚 (n,m≤1000.000.000.000𝑛,𝑚≤1000.000.000.000). Hãy in ra ước số chung lớn nhất của n𝑛 𝑣à m𝑚.
Input:
Hai số nguyên dương n,m𝑛,𝑚,
Output:
In ra ước số chung lớn nhất của chúng
Ví dụ
Input
Copy
54 72
Output
Copy
18
Lưu ý: Viết bằng C++ dùng for hoặc while
#include <iostream>
using namespace std;
int main()
{
int t,m,n,ucln;
cout<<"Nhap n="; cin>>n;
cout<<"Nhap m="; cin>>m;
t=m%n;
while (t!=0)
{
t=n%m;
n=m;
m=t;
}
ucln=n;
cout<<ucln;
return 0;
}