на день рождения Денису мама подарила отрезок чисел от а до б причем левая так и правая граница могут как включаться так и не выключаться .Денис , как настоящий математик хотел бы узнать сколько целых чисел принадлежит этому отрезку ему .Решить в питоне или в паскале 3.0.0 ​Система половину забрала(

kety0milka kety0milka    3   31.10.2020 12:20    1

Ответы
ballas47 ballas47  30.11.2020 12:21

program a2;

var

 a, x1, y1, z1, l1, z, l: string;

 i, g, d, f, a1, b1, sum, vr, vr1, err: int64;

begin

 readln(a);

 g := pos(';', a);

 x1 := copy(a, 2, g - 2);

 y1 := copy(a, g + 2, length(a) - g - 2);

 if a[1] = '[' then d := 1

 else d := 0;

 if a[length(a)] = ']' then f := 1

 else f := 0;

 if pos('/', x1) <> 0 then begin

   z := copy(x1, 1, pos('/', x1) - 1);

   z1 := copy(x1, pos('/', x1) + 1, length(x1) - pos('/', x1));

   val(z, vr, err);

   val(z1, vr1, err);

   a1 := vr div vr1;

 end

 else val(x1, a1, err);

 if pos('/', y1) <> 0 then begin

   l := copy(y1, 1, pos('/', y1) - 1);

   l1 := copy(y1, pos('/', y1) + 1, length(y1) - pos('/', y1));

   val(l, vr, err);

   val(l1, vr1, err);

   b1 := vr div vr1;

 end

 else val(y1, b1, err);

 for i := a1 to b1 do sum := sum + 1;

 val(z, vr, err);

 val(z1, vr1, err);

 if (d = 0) then  

   if vr = 0 then sum := sum - 1

   else if (vr mod vr1 = 0) then sum := sum - 1;

 val(l, vr, err);

 val(l1, vr1, err);

 if (f = 0) then  

   if vr = 0 then sum := sum - 1

   else if (vr mod vr1 = 0) then sum := sum - 1;

 writeln(sum);

end.

На не благодари)

ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика