Tin học Tây Sơn

Cặp số thân thiết

Go down

Cặp số thân thiết

Bài gửi by Admin on Tue Dec 11, 2018 1:56 pm

Hai số nguyên dương được gọi là thân thiết nếu chúng có cùng ước số nguyên tố lớn nhất.
Hãy viết chương trình kiểm tra xem hai số nguyên dương có là cặp số thân thiết hay không?
Dữ liệu vào là hai số nguyên dương a, b (1< a, b <1010) nhập từ bàn phím.
Dữ liệu ra gồm:
-         Ước nguyên tố lớn nhất của từng số;
-         Kết luận: “La cap so than thiet” hoặc “Khong than thiet”.
Ví dụ:
Input
 
Output
Nhap hai so: 18 2016 UNTLN tuong ung: 3, 7
Khong than thiet
   
Input
 
Output
Nhap hai so: 50 15 UNTLN tuong ung: 5, 5
La cap so than thiet
avatar
Admin
Admin
Admin

Posts : 687
Reputation : -10042
Join date : 16/11/2015
Age : 29

Xem lý lịch thành viên http://tinhocts.forumvi.com

Về Đầu Trang Go down

Re: Cặp số thân thiết

Bài gửi by Cao Hải Dương on Tue Dec 11, 2018 2:57 pm

Code:
Program cap_so_than_thiet;
Uses crt;
Var a,b:longint;

Function nt(x:longint):boolean;
Var i:longint;
Begin
nt:=true;
For i:=2 to trunc(sqrt(x)) do
        If x mod i = 0 then Begin nt:=false; Break End;
End;

Function uocnt(x:longint):longint;
Var i:longint;
Begin
uocnt:=0;
For i:=x downto 2 do
        If (x mod i = 0) and (nt(i)) then Begin uocnt:=i; Break End;
End;

Begin
Clrscr;
Repeat
Write('Nhap a: ');Readln(a);
Write('Nhap b: ');Readln(b);
Until (a>1) and (b>1) and (a<10000000000) and (b<10000000000);
Writeln('UNTLN tuong ung: ',uocnt(a),' , ',uocnt(b));
If uocnt(a)=uocnt(b) then write('La cap so than thiet')
        else write('Khong than thiet');
Readln;
End.
avatar
Cao Hải Dương
Nhiệt tình
Nhiệt tình

Posts : 58
Reputation : -329968
Join date : 18/06/2018
Age : 14
Location : Bình Định

Xem lý lịch thành viên http://starduongdesign.blogspot.com

Về Đầu Trang Go down

Re: Cặp số thân thiết

Bài gửi by nganvonhat123 on Tue Dec 11, 2018 2:58 pm

Code:
program stt;
uses crt;
var a,b,s,ss,i,j:longint;

        function snt(n:longint):boolean;
                var i:longint;

        begin
                snt:=false;
                if n<2 then exit;
                for i:=2 to trunc(sqrt(n)) do if n mod i=0 then exit;
                snt:=true;
        end;

begin
clrscr;
repeat write('nhap a,b: ');readln(a,b) until (a>0) and (  b>0);
for i:=a  downto 2 do
if (snt(i)) and (a mod i=0)then
begin
        s:=i;
        break;
end;
for j:=b  downto 2 do if (snt(j)) and (b mod j=0) then begin ss:=j;break;end;
if ss=s then
begin
writeln('UCLN tuong ung: ',s,',',ss);
write('la cap so than thiet');
end
else
begin
writeln('UCLN tuong ung: ',s,',',ss);
write('khong la cap so than thiet');
end;
readln;
end.
avatar
nganvonhat123
Teen Chính hiệu
Teen Chính hiệu

Posts : 12
Reputation : -109991
Join date : 24/11/2018
Age : 14

Xem lý lịch thành viên

Về Đầu Trang Go down

Re: Cặp số thân thiết

Bài gửi by huynhtanluc on Tue Dec 11, 2018 2:58 pm

Code:
Program tt;
uses crt;
var a,b,i,j:integer;

Function nt(n:integer):boolean;
var i:integer;
begin
nt:=false;
if n<2 then exit;
for i:=2 to trunc(sqrt(n)) do
if n mod i=0 then exit;
nt:=true;
end;

Procedure kt;
var s,k:integer;
begin
s:=0;k:=0;
for i:=a downto 2 do
if (a mod i=0) and (nt(i)) then
begin
s:=i;
break;
end;
for j:=b downto 2 do
if (b mod j=0) and (nt(j))then
begin
k:=j;
break;
end;
writeln('UNTLN tuong ung: ',s,',',k);
if s=k then writeln('La cap so than thiet') else
writeln('Khong than thiet');
end;

Begin
clrscr;
write('Nhap so a: ');readln(a);
write('Nhap so b: ');readln(b);
kt;
readln;
End.
avatar
huynhtanluc
Năng động
Năng động

Posts : 63
Reputation : -299984
Join date : 18/06/2018

Xem lý lịch thành viên

Về Đầu Trang Go down

Re: Cặp số thân thiết

Bài gửi by Nguyễn Ngọc Thiên on Tue Dec 11, 2018 2:58 pm

Code:
program Than_thien;
uses crt;
var n,m:longint;

function nto(n:longint):boolean;
var i:integer;
begin
nto:=true;
for i:=2 to trunc(sqrt(n)) do
if n mod i=0 then
                begin
                 nto:=false;
                 break;
                end;
end;

function untln(n:longint):longint;
var i:integer;
begin
for i:=n downto 2 do
if (n mod i=0) and nto(i) then
                                begin
                                 untln:=i;
                                 break;
                                end;
end;

Begin
repeat
write('Nhap 2 so: ');readln(n,m);
until (n>1) and (m>1) and (n<10000000000) and (m<10000000000);
writeln('UNTLN tuong ung: ',untln(n),',',untln(m));
if untln(n)=untln(m) then write('La cap so than thiet') else write('Khong than thiet');
readln
end.
avatar
Nguyễn Ngọc Thiên
Teen Chính hiệu
Teen Chính hiệu

Posts : 19
Reputation : -179986
Join date : 06/11/2018
Age : 14
Location : Bình tường, Tây Sơn, Bình Định

Xem lý lịch thành viên

Về Đầu Trang Go down

Re: Cặp số thân thiết

Bài gửi by tonguyengiahan237 on Tue Dec 11, 2018 2:58 pm

Code:
Program Cap_so_than_thiet;
Uses crt;
Var a,b:longint;

Procedure Nhap;
Begin
Write('Nhap so thu nhat:');Readln(a);
        While a>100000000000 do
                begin
                Writeln(a,' >10^10...Moi ban nhap lai:');Readln(a);
                end;
Write('Nhap so thu hai:');Readln(b);
        While b>100000000000 do
                begin
                Writeln(b,' >10^10...Moi ban nhap lai:');Readln(b);
                end;
End;

Function snt(i:longint):boolean;
Var j:longint;
Begin
snt:=false;
If i<2 then exit
else if i=2 then
        begin
        snt:=true;
        exit;
        end;
For j:=2 to trunc(sqrt(i)) do
If i mod j=0 then exit;
snt:=true;
End;

Function UNTLN(a:longint):longint;
Var i,U:longint;
Begin
For i:=2 to a do
If (a mod i=0) and (snt(i)) then U:=i;
UNTLN:=U;
End;

Procedure Xuli;
Begin
Writeln('UNTLN tuong ung:',UNTLN(a),',',UNTLN(b));
If UNTLN(a)=UNTLN(b) then
Writeln('La cap so than thiet')
else
Writeln('Khongthan thiet');
End;

BEGIN
CLRSCR;
Nhap;
Xuli;
READLN;
END.
avatar
tonguyengiahan237
Nhiệt tình
Nhiệt tình

Posts : 42
Reputation : -1
Join date : 06/11/2018
Age : 14
Location : TT Phú Phong Huyện Tây Sơn Tỉnh Bình Định

Xem lý lịch thành viên

Về Đầu Trang Go down

Re: Cặp số thân thiết

Bài gửi by mainhatthong2004 on Tue Dec 11, 2018 2:58 pm

Code:
program bai1;
uses crt;
var a,b,m,n:longword;
//----------------------------------------
function nto(x:longword):boolean;
        var i:longword;
        begin
                nto:=true;
                if x<2 then
                        begin
                                nto:=false;
                                exit;
                        end;
                for i:=2 to trunc(sqrt(x)) do
                        if x mod i=0 then
                                begin
                                        nto:=false;
                                        exit;
                                end;
        end;
//-------------------------------------------
function usntln(m:longword):longword;
        var j:longword;
        begin
                for j:=m downto 2 do
                        if (m mod j=0) and (nto(j)) then
                                begin
                                        usntln:=j;
                                        exit;
                                end;
        end;
//------------------------------------------
begin
        clrscr;
        repeat
                write('Nhap hai so : '); readln(a,b);
        until  (a>1) and (b>1)
                and (a<10000000000)
                and (b<10000000000);
        clrscr;
        n:=usntln(a);
        m:=usntln(b);
        writeln('UNTLN tuong ung: ',n,' ',m);
        if n=m then
                write('La cap so than thiet ')
        else
                write('Khong than thiet');
        readln;
        end.


avatar
mainhatthong2004
Teen cá tính
Teen cá tính

Posts : 85
Reputation : -369988
Join date : 18/06/2018

Xem lý lịch thành viên

Về Đầu Trang Go down

Re: Cặp số thân thiết

Bài gửi by truongquocbao2004 on Tue Dec 11, 2018 2:58 pm

Code:
program sothanthiet;
uses crt;
var a,b,i,j,x,y:longint;

function nt(n:integer):boolean;
var i:integer;
begin
nt:=true;
if n<2 then exit;
for i:=2 to trunc(sqrt(n)) do
        if n mod i=0 then
                begin
                        nt:=false;
                        break;
                end;
end;

begin
clrscr;
repeat
        write('nhap a,b ');readln(a,b);
until (a>1)and(a<10000000000)and(b>1)and(b<10000000000);
x:=0;y:=0;
for i:=a downto 2 do
        if (a mod i=0)and(nt(i)) then
                begin
                        x:=i;
                        break;
                end;

for j:=b downto 2 do
        if (b mod j=0)and(nt(j)) then
                begin
                        y:=j;
                        break;
                end;
writeln('UNTLN tuong ung ',x,',',y);
if x=y then write('la cap so than thiet')
        else write('khong than thiet');
readln;
end.
avatar
truongquocbao2004
Nhiệt tình
Nhiệt tình

Posts : 40
Reputation : -119998
Join date : 18/06/2018

Xem lý lịch thành viên

Về Đầu Trang Go down

Re: Cặp số thân thiết

Bài gửi by nguyen77 on Tue Dec 11, 2018 2:58 pm

Code:
Program BT;
USES CRT;
VAR I,N,m,a,b,j:LONGINT;
fi,fo:text;

//_____________________________

Function NT(X:LONGINT):boolean;
var j:longint;
begin
if x<2 then
        begin
        nt:=false;
        exit;
        end
else
begin
nt:=true;
for j:=2 to trunc(sqrt(x)) do
        if x mod j=0 then
                begin
                        nt:=false;
                        break;
                end;
end;
end;

//___________________________
begin
clrscr;
assign(fi,'Thanthiet.inp');
reset(fi);
read(fi,n,m);
close(fi);
assign(fo,'Thanthiet.out');
rewrite(fo);
if (n<1) or (m<1) or (n>100000000000) or (m>100000000000) then
        begin
                write(' Du lieu ko hop le yeu cau nhap lai ');

                readln;
                exit;
        end;

a:=0;
b:=0;
for i:=n downto 2 do
        if (n mod i=0) and (nt(i)=true) then
                begin
                        a:=i;
                        break;
                end;
for j:=m downto 2 do
        if (m mod j=0 ) and (nt(j)=true) then
                begin
                        b:=j;
                        break;
                end;
if a=b then
        writeln(fo,'La hai cap so than thiet ')
        else
        writeln(fo,'Ko la hai cap so than thiet ');
write(fo,'UNTLN tuong duong ',a,' va ',b);
close(fo);
readln;
end.
avatar
nguyen77
Năng động
Năng động

Posts : 75
Reputation : -309991
Join date : 18/06/2018

Xem lý lịch thành viên

Về Đầu Trang Go down

Re: Cặp số thân thiết

Bài gửi by quantran on Tue Dec 11, 2018 2:58 pm

code:
program baithanthiet;
var
a,b,i,j,x,y:longint;
//-------------------------
function nto(x:longint):boolean;
var
j:integer;
begin
        nto:=true;
        for j:=2 to trunc(sqrt(x)) do
                if x mod j=0 then
                        begin
                                nto:=false;
                                break;
                        end;
end;
//-----------------------------
begin

repeat
        write('nhap a la ');readln(a);
until (1<a) and (a<10000000000);

repeat
        write('nhap b la ');readln(b);
until (1<b) and (b<10000000000);

        for i:=a-1 downto 2 do
                if (a mod i=0)  and (nto(i)=true) then
                        begin
                                x:=i;
                                break;
                        end;
        for j:=b-1 downto 2 do
                if (b mod j=0) and (nto(j)=true) then
                        begin
                                y:=j;
                                break;
                        end;
        if x=y then
                begin
                        writeln('untln tuong ung la ',x,' va ',y );
                        writeln('la cap so than thiet ');
                end
                else
                begin
                        writeln('untln tuong ung la ',x,' va ',y );
                        writeln('khong la cap so than thiet ');
                end;
readln;
end.
avatar
quantran
Năng động
Năng động

Posts : 77
Reputation : -339986
Join date : 18/06/2018
Age : 14
Location : Binh Thuan-Tay Son-Binh Dinh

Xem lý lịch thành viên

Về Đầu Trang Go down

Re: Cặp số thân thiết

Bài gửi by Đinh Ngọc Mạnh on Tue Dec 11, 2018 2:58 pm

Spoiler:
Code:
uses crt;
var
        x,y,i,a,b:longint;

function ngto(x:longint):boolean;
var
        j:longint;
begin
        ngto:=true;
        if x<2 then begin ngto:=false; exit end;
        for j:=2 to trunc(sqrt(x)) do
                if x mod j=0 then
                begin
                        ngto:=false;
                        break;
                end
end;

begin
        clrscr;
        write('Nhap so thu nhat: '); readln(x);
        write('Nhap so thu hai: '); readln(y);
        for i:=x downto 2 do
                if (ngto(i)) and (x mod i=0) then
                begin
                        a:=i;
                        break
                end;
        for i:=y downto 2 do
                if (ngto(i)) and (y mod i=0) then
                begin
                        b:=i;
                        break
                end;
        writeln('UNTLN tuong ung: ',a,', ',b);
        if a=b then write('La cap so than thiet!') else write('Khong than thiet!');
        readln
end.
avatar
Đinh Ngọc Mạnh
Năng động
Năng động

Posts : 73
Reputation : -300002
Join date : 18/06/2018
Age : -7981
Location : Ở nhà

Xem lý lịch thành viên http://firtsblogspot.blogspot.com

Về Đầu Trang Go down

Re: Cặp số thân thiết

Bài gửi by lohan on Tue Dec 11, 2018 2:59 pm

Code:
program so_thanthiet;
uses crt;
var a,b:longint;

function kt_snt(x:longint):boolean;
var i:longint;
begin
kt_snt:=true;
for i:=2 to trunc(sqrt(x)) do
if x mod i=0 then
        begin
        kt_snt:=false;
        break
        end;
end;

function uocnt(x:longint):longint;
var i:longint;
begin
uocnt:=0;
for i:=x downto 2 do
if (x mod i=0) and (kt_snt(i)) then
        begin
        uocnt:=i;
        break
        end;
end;

begin
clrscr;
repeat
write('nhap a: ');readln(a);
write('nhap b: '); readln(b);
until (a>1)and(b>1)and(a<10000000000)and(b<10000000000);
writeln('UCTLN tuong ung: ',uocnt(a),' , ',uocnt(b));
if uocnt(a)=uocnt(b) then write('la cap so than thiet')
                          else write('khong than thiet');
readln;
end.
avatar
lohan
Teen Chính hiệu
Teen Chính hiệu

Posts : 21
Reputation : -189985
Join date : 06/11/2018
Age : 14

Xem lý lịch thành viên

Về Đầu Trang Go down

Re: Cặp số thân thiết

Bài gửi by Nguyễn Hoàng Nam on Tue Dec 11, 2018 2:59 pm

CODE:
Program bt;
Uses crt;
Var a,b:longint;

Function snt(n:longint):boolean;
Var i:longint;
Begin
snt:=true;
For i:=2 to trunc(sqrt(n)) do
If n mod i = 0 then Begin snt:=false; Break End;
End;

Function uocnt(n:longint):longint;
Var i:longint;
Begin
uocnt:=0;
For i:=n downto 2 do
If (n mod i = 0) and (snt(i)) then Begin uocnt:=i; Break End;
End;

Begin
Clrscr;
Repeat
Write('Nhap a: ');Readln(a);
Write('Nhap b: ');Readln(b);
Until (a>1) and (b>1) and (a<10000000000) and (b<10000000000);
Writeln('UNTLN tuong ung: ',uocnt(a),' , ',uocnt(b));
If uocnt(a)=uocnt(b) then write('La cap so than thiet')
else write('Khong than thiet');
Readln;
End.
[/code]
avatar
Nguyễn Hoàng Nam
Teen Chính hiệu
Teen Chính hiệu

Posts : 17
Reputation : -159986
Join date : 06/11/2018
Age : 14

Xem lý lịch thành viên

Về Đầu Trang Go down

Re: Cặp số thân thiết

Bài gửi by thanhtruc on Tue Dec 11, 2018 3:00 pm

Code:
program than_thiet;
uses crt;
var a,b:longword;

function ktnt(n:longword):boolean;
var i:longword;
begin
ktnt:=true;
for i:= 2 to trunc(sqrt(n)) do
if n mod i= 0 then ktnt:=false;
end;

function usnt(n:longword):longword;
var i:longword;
begin
for i:= 1 to n do
if ( n mod i= 0 ) and (ktnt(i)) then
usnt:=i;
end;

BEGIN
clrscr;
repeat;
write(' nhap a:');readln(a);
write(' nhap b:');readln(b);
until (1<a) and (b<10000000000);
if usnt(a) = usnt(b) then
begin
writeln('UNTLN tuong ung :',usnt(a),' , ',usnt(b));
writeln('la cap so than thiet ');
end
else
begin
writeln('UNTLN tuong ung:',usnt(a),' , ',usnt(b));
writeln('khong than thiet');
end;
readln;
end.
avatar
thanhtruc
Nhiệt tình
Nhiệt tình

Posts : 45
Reputation : -189988
Join date : 25/06/2018
Age : 14
Location : TNPPTSBĐ

Xem lý lịch thành viên

Về Đầu Trang Go down

Re: Cặp số thân thiết

Bài gửi by Tạ Thúy Phượng on Tue Dec 11, 2018 3:04 pm

CODE:
program bai1;
uses crt;
var
i,n,j,m,x,y:longint;
//-----------------------
function nto(x:longint):boolean;
var
j:longint;
begin
nto:=true;
for j:=2 to trunc(sqrt(x)) do
if x mod j=0 then
begin
nto:=false;
break;
end;
end;
//---------------------------
function kt(a:longint):integer;
var
i:longint;
begin
for i:=a downto 2 do
if (a mod i=0 )and(nto(i)=true) then
begin
kt:=i;
break;
end;
end;
//----------------------------
begin
write(' nhap so n: ');readln(n);
write(' nhap so m: ');readln(m);
if kt(n)=kt(m) then
begin
writeln(' UNTLN tuong ung: ',kt(n),' ',kt(m));
write(n,' va ',m,' : La cap so than thiet ');
end
else
begin
write(n,' va ',m,' khong phai la cap so than thiet ');
writeln(' UNTLN tuong ung: ',kt(n),' ',kt(m));
end;
readln;
end.
avatar
Tạ Thúy Phượng
Năng động
Năng động

Posts : 66
Reputation : -259993
Join date : 18/06/2018
Location : Binh Thuan-Tay Son-Binh Dinh

Xem lý lịch thành viên

Về Đầu Trang Go down

Re: Cặp số thân thiết

Bài gửi by Nguyễn Văn Biên on Wed Dec 12, 2018 7:04 pm

Spoiler:
Code:
program So_than_thiet;
uses crt;
var a,b:longword;

function tt(k:longword):longword;
var i:longword;

function ngto(x:longword):boolean;
var j:longword;
begin
        ngto:=false;
        if x<2 then exit
        else if x=2 then begin ngto:=true; exit end;
        for j:=2 to trunc(sqrt(x)) do
        if x mod j = 0 then exit;
        ngto:=true
end;

begin
        for i:=k downto 2 do
        if ngto(i) and (k mod i = 0) then
        begin tt:=i; exit end
end;

begin
        clrscr;
        repeat write('Nhap so thu nhat: '); readln(a) until (a>1) and (a<10000000000);
        repeat write('Nhap so thu hai: '); readln(b) until (b>1) and (b<10000000000);
        writeln('Uoc nguyen to lon nhat tuong ung: ',tt(a),', ',tt(b));
        if tt(a)=tt(b) then write('La cap so than thiet')
        else write('Khong than thiet');
        readln
end.

_________________

My:
- XDA Account
- Blog
- Game

...
avatar
Nguyễn Văn Biên
Recognised Member & Recognised Developer & Protected Member & Super Administrator
Recognised Member & Recognised Developer & Protected Member & Super Administrator

Posts : 220
Reputation : 1129923
Join date : 18/06/2018
Age : 15
Location : ?

Xem lý lịch thành viên https://bien2004official.blogspot.com

Về Đầu Trang Go down

Re: Cặp số thân thiết

Bài gửi by Sponsored content


Sponsored content


Về Đầu Trang Go down

Về Đầu Trang


 
Permissions in this forum:
Bạn không có quyền trả lời bài viết