М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
09alan
09alan
11.04.2021 10:27 •  Информатика

Вася с петей и колей заработали много денег. чтобы не мучиться с дележкой, они решили, что сначала вася заберет все купюры максимального достоинства, затем петя – минимального , а все оставшиеся – коля рассчитать, кто сколько купюр получит. формат входных данных в первой строке содержится число n (1 ≤ n ≤ 1000000) – количество купюр. во второй строке записано n натуральных чисел, не превосходящих 109 – номиналы купюр. формат выходных данных выведите через пробел три числа: сколько купюр достанется васе, пете и коле соответственно. пример input.txt | output.txt 4 | 1 2 3 4 | 1 1 2 5 2 2 4 4 4 | 3 2 0

👇
Ответ:
мафия47
мафия47
11.04.2021
program delehka(input,output); 
 var a:Array[1..1000010] of longint;
  i,n,s,ma,mi,sl:longint;
begin
  assign(input,'input.txt');
   reset(input);
  assign(output,'output.txt');
  rewrite(output);
  readln(n);
 mi:=(1 shl 30);
 ma:=-(1 shl 30);
 for i:=1 to n do begin read(a[i]);
 ma:=max(ma,a[i]);
 mi:=min(mi,a[i]);
 end;
  if ma=mi then write(0,'',n,'',0)
 else
 begin for i:=1 to n do
   begin
 if a[i]=ma then s:=s+1;
 if a[i]=mi then sl:=sl+1;
  end;
  writeln(s,' ',sl,' ',n-s-sl);
   close(input);
  close(output);
end;
end.
4,6(65 оценок)
Открыть все ответы
Ответ:
elina162006
elina162006
11.04.2021

var

 s, s1, s2, s3, s4, tmp1, tmp2: string;

 i, a, b, c, d, e, f: integer;

begin

 Writeln('Введите строку: ');

 Readln(s);

 //

 for var k := 1 to length(s) do  

 begin

   if (s[k] = '(') then

   begin

     var j := k + 1;

     while (s[j].IsDigit) do

     begin

       tmp1 := tmp1 + s[j];

       j := j + 1;

     end;

     var ch := s[j];

     j := j + 1;

     while (s[j].IsDigit) do

     begin

       tmp2 := tmp2 + s[j];

       j := j + 1;

     end;

     case ch of

       '+': begin s := s.Remove(k - 1, j - k + 1); s := s.Insert(k - 1, inttostr(tmp1.ToInteger + tmp2.ToInteger)); end;

       '-': begin s := s.Remove(k - 1, j - k + 1); s := s.Insert(k - 1, inttostr(tmp1.ToInteger - tmp2.ToInteger)); end;

       '*': begin s := s.Remove(k - 1, j - k + 1); s := s.Insert(k - 1, inttostr(tmp1.ToInteger * tmp2.ToInteger)); end;

       '/': begin s := s.Remove(k - 1, j - k + 1); s := s.Insert(k - 1, inttostr(tmp1.ToInteger div tmp2.ToInteger)); end;

     end;

     break;

   end;

 end;

 //

 for i := 1 to length(s) do

 begin

   if (s[i] = '+') or (s[i] = '-') or (s[i] = '*') or (s[i] = '/') then

   begin

     s1 := copy(s, 1, i - 1);

     s2 := copy(s, i + 1, length(s));

     c := i;

   end;

 end;

 for i := 1 to length(s1) do

 begin

   if (s1[i] = '+') or (s1[i] = '-') or (s1[i] = '*') or (s1[i] = '/') then

   begin

     s3 := copy(s1, 1, i - 1);

     s4 := copy(s1, i + 1, length(s1));

     e := i;

   end;

 end;

 Val(s3, a, d);

 Val(s4, b, d);

 Val(s2, f, d);

 if (s[e] = '/') and (s[c] = '/') then Writeln((a div b) div f);

 if (s[e] = '/') and (s[c] = '*') then Writeln((a div b) * f);

 if (s[e] = '+') and (s[c] = '*') then Writeln(a + (b * f));

 if (s[e] = '*') and (s[c] = '*') then Writeln(a * b * f);

 if (s[e] = '+') and (s[c] = '/') then Writeln(a + (b div f));

 if (s[e] = '*') and (s[c] = '+') then Writeln((a * b) + f);

 if (s[e] = '/') and (s[c] = '+') then Writeln((a div b) + f);

 if (s[e] = '*') and (s[c] = '/') then Writeln((a * b) div f);

 if (s[e] = '+') and (s[c] = '+') then Writeln(a + b + f);

 if (s[e] = '-') and (s[c] = '-') then Writeln(a - b - f);

 if (s[e] = '+') and (s[c] = '-') then Writeln(a + b - f);

 if (s[e] = '-') and (s[c] = '+') then Writeln(a - b + f);

 if (s[e] = '*') and (s[c] = '-') then Writeln((a * b) - f);

 if (s[e] = '/') and (s[c] = '-') then Writeln((a div b) - f);

 if (s[e] = '-') and (s[c] = '*') then Writeln(a - (b * f));

 if (s[e] = '-') and (s[c] = '/') then Writeln(a - (b div f));

end.

4,6(73 оценок)
Ответ:
snegjana
snegjana
11.04.2021

Оғыз мемлекеті (ЫХ ғасырдың соңы— ХЫғасырдың ортасы). ЫХ ғасырдың ортасында Сырдарияның орта және төменгі ағысында, сонымен қатар Батыс Қазақстанды да қосып алатын территориясында оғыз тайпаларының саяси бірлестігі құрылды. «Оғыз» деген терминнің этимологиясы әлі де анықталмаған. Алайда "оғыз" сөзінің пайда болуы туралы әр түрлі пікірлер жоқ емес. Кейбір ғалымдар "уыз" сөзінен шықты десе, екінші біреулері "садақтың оғы" деген сөзден пайда болған дейді. Ал үшінші бір ғалымдар "өгіз" деген тотемдік сөзден пайда болды деп дәлелдеуге тырысады. Махмуд Қашқари, әл-Марвази еңбектерінде, оғыздарға жататын руларды атап кеткен: қынық, баят, язғыр, имур, қарабулақ, тутырка, т.б. Оғыздар 2 экзогамды фрактриядан құрылған. Бұлар — боз оқ және үш оқ (учук). ВЫЫЫ ғасыр ортасында түргештер мұрасы үшін қарлұқтармен болған күресте оғыздардың едәуір бөлігі Жетісуды тастап, Шу алқабына кетеді. Осы жерде олардың «Көне Гузия>> деп аталатын ордасы болды. ЫХ ғасырдың бас кезінде оғыздардың көсемі қарлұқтармен, қимақтармен одақтасып, кангар-печенег бірлестігін күйретеді, сөйтіп Сырдың төменгі жағы мен Арал өңірі мен даласын басып алады. ЫХ ғасыр соңында олар хазарлармен одақ құрып, печенегтерді жеңеді де, Орал мен Еділ арасын қол астына қаратады.

4,5(32 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
Полный доступ к MOGZ
Живи умнее Безлимитный доступ к MOGZ Оформи подписку
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ