maratabdullin1p0dtuc
15.06.2022 16:47

Ничего не понимаю ..
задание в файле


Ничего не понимаю .. задание в файле

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
Taekimyeon
26.12.2022 02:26
На паскалі:
program _1;
var a,b,c,i:integer;
begin
write('Введіть чисельник дробу: ');
readln(a);
write('Введіть знаменник дробу: ');
readln(b);
if a>b then c:=a else c:=b;
for i:=1 to c do
if ((a mod i)=0) and ((b mod i)=0) then
begin
a:=a div i;
b:=b div i;
end;
writeln(a,'/',b);
end.

На Сішці:

#include <iostream>
using namespace std;
int main(){
setlocale(LC_ALL, "Ukr");
int a,b,c,i;
cout<<"Введіть чисельник: "<<endl;
cin>>a;
cout<<"Введіть знаменник: "<<endl;
cin>>b;
(a>b)?c=a:c=b;
for (i=1;i<=c;i++){
if ((a%i==0)&&(b%i==0)){
a=a/i; b=b/i;
}
}
cout<<a<<"/"<<b<<endl;
system("pause");
}
Буду вдячний за "Кращу відповідь"
0,0(0 оценок)
Ответ:
salautinal96
22.08.2020 14:41
Дурацкая по своей трудоемкости задача, если делать её вручную.
А если написать полную программу и вставить туда счетчик вызовов F(n), то окажется, что для вызова F(6) процедура будет вызвана 97 раз. При каждом вызове выводится звездочка, поэтому их будет выведено тоже 97.

Проверка выполнялась по следующей программе:
var
  k:integer;

procedure F(n: integer);
begin
  writeln('*');
  k:=k+1;
  if n > 0 then begin
    F(n - 3);
    F(n - 2);
    F(n div 2);
    F(n div 2);
  end
end;

begin
  k:=0;
  F(6);
  Writeln(k)
end.
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота