#include <iostream.h>
int NOD(int m,int n) {
int r=m%n;
if(r!=0) {
NOD(n,r);
}
else {
return n;
}
}
void main() {
int m,n;
cin >> m;
cin >> n;
cout << m/NOD(m,n) << "/" << n/NOD(m,n) << endl;
}
Ребус:(К+У+Б)^3=КУБ. Сокращение дроби.
и сократить дробь(вводиттся числитель и знаменатель(m и n) выводится (m1 и n1).
Спасибо!
Вообщем я думаю, что надо сначала найти наибольший общий делитель числителя и знаменателя, а потом просто на него поделить. Функция NOD рекурсивно вычисляет НОД чисел m и n.
и сократить дробь(вводиттся числитель и знаменатель(m и n) выводится (m1 и n1).[/QUOTE]
Берешь раскладываешь на простые множители (Ferma), а затем удаляешь парные множители.
ребус: в целых числах?
Код:
var
k, u, b, sum, value: Integer;
begin
for k := 1 to 9 do
for u := 0 to 9 do
for b := 0 to 9 do begin
if (k=u) or (k=b) or (u=b) then Continue;
sum := k + u + b;
sum := sum*sum*sum;
value := 100*k + 10*u + b;
if sum = value then
WriteLn(value);
end;
end;
k, u, b, sum, value: Integer;
begin
for k := 1 to 9 do
for u := 0 to 9 do
for b := 0 to 9 do begin
if (k=u) or (k=b) or (u=b) then Continue;
sum := k + u + b;
sum := sum*sum*sum;
value := 100*k + 10*u + b;
if sum = value then
WriteLn(value);
end;
end;
Все программы в Pascal, в школе Делфи не учим.
Merlin, напишите пожалуйста на языке Паскаль.
Все программы в Pascal, в школе Делфи не учим.
Merlin, напишите пожалуйста на языке Паскаль.[/QUOTE]Это же Паскаль.
Макс. нужно подключить библиотеку CRT:
program pr;
uses CRT;
...
...
Да Merlin я перепутал тебя с Ginza9. А ребус работает всё Ок.
Добавлено: ой..у вас программа о ребусе.))
Код:
program Pr;
uses
Crt;
function NOD(m : Integer; n : Integer) : Integer;
var
r: Integer;
begin
r := m mod n;
if r<>0 then
NOD := NOD(n,r)
else
NOD := n;
end;
var
n, m, r: Integer;
begin
WriteLn('Введите число n: ');
ReadLn(n);
WriteLn('Введите число m: ');
ReadLn(m);
r := NOD(n, m);
n := n div r;
m := m div r;
WriteLn('n1: ', n, ' m1: ', m);
ReadLn;
end.
uses
Crt;
function NOD(m : Integer; n : Integer) : Integer;
var
r: Integer;
begin
r := m mod n;
if r<>0 then
NOD := NOD(n,r)
else
NOD := n;
end;
var
n, m, r: Integer;
begin
WriteLn('Введите число n: ');
ReadLn(n);
WriteLn('Введите число m: ');
ReadLn(m);
r := NOD(n, m);
n := n div r;
m := m div r;
WriteLn('n1: ', n, ' m1: ', m);
ReadLn;
end.