Tin học Tây Sơn

Cặp số họ hàng

Go down

Cặp số họ hàng

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

    Hai sô tự nhiên được gọi là có quan hệ họ hàng nếu chúng có tổng các ước số nguyên tố bằng nhau. Chẳng hạn: hai số 90 và 147 là hai số họ hàng cới nhau vì 90 có các ước nguyên tố là 2, 3, 5 (tổng bằng 10), số 147 có các ước nguyên tố là 3, 7 (cũng có tổng bằng 10).
    Viết chương trình nhập từ bàn phím hai số tự nhiên a và b (1< a, b <1010). Chương trình kiểm tra và cho biết hai số đã nhập có quan hệ họ hàng hay không. Nếu có quan hệ thì kèm thông báo là tổng các ước nguyên tố của 2 số đó.
   Ví dụ 1 :
      Nhập hai số: 90 147
      Hai số 90, 147 có quan hệ họ hàng,
      Tổng các ước nguyên tố là 10
   Ví dụ 2 :
      Nhập hai số cần kiểm tra: 1024 12
      Hai số 1024, 12 không có quan hệ họ hàng.
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ố họ hàng

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

Code:
program sohohang;
uses crt;
var a,b,i,s1,s2: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);
s1:=0;
for i:=2 to trunc(sqrt(a)) do
        if (a mod i=0)and(nt(i)) then s1:=s1+i;

s2:=0;
for i:=2 to trunc(sqrt(b)) do
        if (b mod i=0)and(nt(i)) then s2:=s2+i;

if s1=s2 then
        begin
                writeln('hai so ',a,',',b,' co quan he ho hang');
                write('tong cac uoc nguyen to la ',s1);
        end
                else write('hai so ',a,',',b,' khong co quan he ho hang');
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ố họ hàng

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

code:
program baihohang;
var
s1,a,b,i,s,j: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);

s:=0;
s1:=0;
        for i:=2 to a-1 do
                if (a mod i=0) and (nto(i)=true) then
                        s:=s+i;
        for j:=2 to b-1 do
                if (b mod j=0) and (nto(j)=true) then
                        s1:=s1+j;
        if s=s1 then
                begin
                        writeln(' co quan he ho hang ');
                        writeln('tong cac uoc nto la ',s);
                end
                else
                        write('khong co quan he ho hang ');
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ố họ hàng

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

Code:
Program bt;
uses crt;
var j,i,a,b,s,s1:longint;

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;
repeat
write(' nhap so A =');
readln(a);
until  (a>1) and (a<100000000000);
repeat;
write(' Nhap so B=');
readln(b);
until  (b>1)  and (b<100000000000);
for i:=2 to a do
if (a mod i=0) and (nt(i)=true) then
        s:=s+i;
for j:=2 to b do
        if (b mod j=0 ) and (nt(j)=true) then
                s1:=s1+j;
if s=s1 then
        write(' La so ho hang co tong la ',s)
        else
        write(' Ko la so ho hang ');
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ố họ hàng

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

Code:
program bai2;
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 hh(m:longword):longword;
        var j:longword;
        begin
                hh:=0;
                for j:=2 to m do
                        if (m mod j=0) and (nto(j)) then
                                hh:=hh+j;
        end;
//--------------------------------------------
begin
        clrscr;
        repeat
                write('Nhap hai so can kiem tra '); readln(a,b);
        until
                (a>1) and (b>1) and
                (a<10000000000) and
                (b<10000000000);
        n:=hh(a);
        m:=hh(b);
        if n=m then
                begin
                        writeln('Hai so ',a,' ',b,' co quan he ho hang,');
                        write('Tong cac uoc nguyen to la ',n);
                end
                else
                write('Hai so ',a,' ',b,' khong co quan he ho hang');
        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ố họ hàng

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

Code:
Program cap_so_ho_hang;
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 tonguocnt(x:longint):longint;
Var i,s:longint;
Begin
tonguocnt:=0;
For i:=2 to x do
        If (x mod i = 0) and (nt(i)) then tonguocnt:=tonguocnt+i;
End;

Begin
Clrscr;
Repeat
Write('Nhap hai so: ');Readln(a,b);
Until (a>1) and (b>1) and (a<10000000000) and (b<10000000000);
If tonguocnt(a)=tonguocnt(b) then
        Begin
        Writeln('Hai so ',a,' va ',b,' co quan he ho hang');
        Write('Tong cac uoc nguyen to la: ',tonguocnt(a));
        End
  Else write('Hai so ',a,' va ',b,' khong co quan he ho hang');
Readln;
End.


Được sửa bởi Cao Hải Dương ngày Tue Dec 11, 2018 2:58 pm; sửa lần 2.
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ố họ hàng

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,t1,t2,a,b:longint;

function ngto(x:longint):boolean;
var
        j:integer;
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;
                        exit;
                end
end;

begin
        clrscr;
        write('Nhap so thu nhat: '); readln(x);
        write('Nhap so thu hai: '); readln(y);
        a:=x; b:=y; t1:=0; t2:=0;
        for i:=2 to a do
                if (ngto(i)) and (a mod i=0) then t1:=t1+i;
        for i:=2 to b do
                if (ngto(i)) and (b mod i=0) then t2:=t2+i;
        if t1=t2 then
        begin
                writeln('Hai so ',x,', ',y,' co quan he ho hang.');
                write('Tong cac USNT la: ',t1);
        end else write('Hai so ',a,', ',b,' khong co quan he ho hang.');
        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ố họ hàng

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

Code:
program ho_hang;
uses crt;
var a,b,t,t1,i,j: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;

BEGIN
clrscr;
repeat;
write(' nhap a:');readln(a);
write(' nhap b:');readln(b);
until (1<a) and (b<10000000000);
t:=0;
t1:=0;
for i:= 2 to a do
if ( a mod i=0 ) and (ktnt(i)) then t:=t+i;
for j:= 2 to b do
if ( b mod j=0 ) and (ktnt(j)) then t1:=t1+j;
if t=t1 then
begin
writeln(' Hai so ',a,' , ',b,' co quan he ho hang ');
writeln(' tong cac uoc nguyen to ',t);
end
else write(' Hai so ',a,',',b,' khong co quan he ho hang');
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ố họ hàng

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

Code:

program cshh;

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);;
s:=0;
ss:=0;
for i:=2 to a  do if (snt(i)) and (a mod i=0) then s:=s+i;
for j:=2 to b  do if (snt(j)) and (b mod j=0) then ss:=ss+j;
if ss=s then
begin
writeln('hai so ',a,',',b,' co quan he ho hang');
write('co tong cac uoc nguyen to la: ',s);
end
else
writeln('hai so ',a,',',b,' khong co quan he ho hang');
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ố họ hàng

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

Code:
Program hh;
uses crt;
var a,b,i,j,s,k: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;

Begin
clrscr;
write('Nhap hai so a,b: ');readln(a,b);
s:=0;k:=0;
for i:=2 to a do
if (a mod i=0) and (nt(i)) then
begin
s:=s+i;
end;
for j:=2 to b do
if (b mod j=0) and (nt(j))then
begin
k:=k+j;
end;
if s=k then
begin
 writeln('Hai so ',a,',',b,' co quan he ho hang');
 writeln('Tong cac uoc nguyen to la: ',s);
end else
 writeln('Hai so ',a,',',b,' khong co quan he ho hang');
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ố họ hàng

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

Code:
Program Cap_so_ho_hang;
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 Tong_uoc(a:longint):longint;
Var i,Tong:longint;
Begin
Tong:=0;
For i:=2 to a do
If (a mod i=0) and (snt(i))  then
        Tong:=Tong+i;
Tong_uoc:=Tong;
End;

Procedure Xuli;
Begin
If Tong_uoc(a)=Tong_uoc(b) then
        begin
        Writeln('Hai so ',a,',',b,' co quan he ho hang');
        Writeln('Tong cac uoc so nguyen to la:',Tong_uoc(a));
        end
Else
        Writeln('Hai so ',a,',',b,' khong co quan he ho hang');
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ố họ hàng

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

Code:
Program Cap_so_ho_hang;
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 Tong_uoc(a:longint):longint;
Var i,Tong:longint;
Begin
Tong:=0;
For i:=2 to a do
If (a mod i=0) and (snt(i))  then
        Tong:=Tong+i;
Tong_uoc:=Tong;
End;

Procedure Xuli;
Begin
If Tong_uoc(a)=Tong_uoc(b) then
        begin
        Writeln('Hai so ',a,',',b,' co quan he ho hang');
        Writeln('Tong cac uoc so nguyen to la:',Tong_uoc(a));
        end
Else
        Writeln('Hai so ',a,',',b,' khong co quan he ho hang');
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ố họ hàng

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

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

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

function tg(n:longint):longint;
var i,t:longint;
begin
t:=0;
for i:=2 to n do
if (n mod i=0) and (nt(i)) then t:=t+i;
tg:=t;
end;

begin
repeat
write('Nhap 2 so: ');readln(n,m);
until (n>1) and (m>1) and (n<10000000000) and (m<10000000000);
if tg(n)=tg(m) then
begin
writeln('Hai so ',n,',',m,' co quan he ho hang');
writeln('Tong cac uoc nguyen to la: ',tg(n))
end
 else write('Ko co quan he ho hang');
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ố họ hàng

Bài gửi by Nguyễn Hoàng Nam on Tue Dec 11, 2018 3:00 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 tong(x:longint):longint;
Var i,s:longint;
Begin
tong:=0;
For i:=2 to x do
       If (x mod i = 0) and (snt(i)) then tong:=tong+i;
End;

Begin
Clrscr;
Repeat
Write('Nhap hai so: ');Readln(a,b);
Until (a>1) and (b>1) and (a<10000000000) and (b<10000000000);
If tong(a)=tong(b) then
       Begin
       Writeln('Hai so ',a,' va ',b,' co quan he ho hang');
       Write('Tong cac uoc nguyen to la: ',tong(a));
       End
 Else write('Hai so ',a,' va ',b,' khong co quan he ho hang');
Readln;
End.


Được sửa bởi Nguyễn Hoàng Nam ngày Tue Dec 11, 2018 3:03 pm; sửa lần 2.
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ố họ hàng

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

CODE:
program bai3;
uses crt;
var
n,m,i,j: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 tonguoc(a:longint):longint;
begin
if (nto(a)=true) then tonguoc:=a
else
begin
tonguoc:=0;
for i:=2 to a div 2 do
if (a mod i=0)and(nto(i)=true) then
tonguoc:=tonguoc+i;
end;
end;
//-------------------------
begin
clrscr;
write(' Nhap so n: ');readln(n);
write(' nhap so m: ');readln(m);
if tonguoc(n)=tonguoc(m) then
begin
writeln(' Hai so ',n,' , ',m,' co quan he ho hang .');
writeln(' Tong cac uoc nguyen to: ',tonguoc(n));
end
else write(' Hai so ',n,' , ',m,' Khong co quan he ho hang . ');
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ố họ hàng

Bài gửi by lohan on Tue Dec 11, 2018 3:03 pm

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

procedure nhap;
begin
write('nhap so thu nhat:');readln(a);
while a>100000000000 do
      begin
      writeln(a,' moi ban nhap lai:');readln(a);
      end;
write('nhap so thu hai:');Readln(b);
while b>100000000000 do
      begin
      writeln(b,' 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 tong_uoc(a:longint):longint;
var i,tong:longint;
begin
tong:=0;
for i:=2 to a do
if (a mod i=0) and (snt(i))  then
        begin
        tong:=tong+i;
        tong_uoc:=tong;
        end;
end;
procedure xuat;
begin
if tong_uoc(a)=tong_uoc(b) then
        begin
        writeln('hai so ',a,',',b,' co quan he ho hang');
        writeln('tong cac uoc so nguyen to la:',tong_uoc(a));
        end
else Writeln('hai so ',a,',',b,' khong co quan he ho hang');
end;

begin
clrscr;
nhap;
xuat;
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ố họ hàng

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

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

function tuoc(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
        tuoc:=0;
        for i:=2 to k do
        if ngto(i) and (k mod i = 0) then tuoc:=tuoc+i
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);
        if tuoc(a)=tuoc(b) then
        begin
                writeln('Hai so ',a,', ',b,' co quan he ho hang');
                write('Tong cac uoc nguyen to la ',tuoc(a))
        end
        else write('Hai so ',a,', ',b,' khong co quan he ho hang');
        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ố họ hàng

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