magazintrofey
?>

Решить на Питоне n школьников делят k яблок “поровну”, то есть так, чтобы количество яблок, доставшихся любым двум школьникам, отличалось бы не более, чем на 1. Входные данные Программа получает на вход числа n и k. Выходные данные Программа должна вывести количество школьников, которым достанется яблок меньше, чем некоторым из их товарищей. Примечание: При решении этой задачи нельзя пользоваться условной инструкцией if и циклами. Примеры: входные данные: 7, 30 выходные данные: 5 входные данные: 7, 28 выходные данные: 0

Информатика

Ответы

diana8

Объяснение:

Решить на питоне не могу, но могу дать тебе кусок кода и объяснить его.

int n,k,a;   //объявляешь переменные n,k,a

cin>>n>>k;  //считываешь с клавы

a = (n-k%n)%n;  //находишь a, где % это остаток от деления

cout<<a; //выводишь a

Donleksa2016
{массив заполняется случайным образом положительными и отрицательными элементами. Находятся отрицательные элементы на главной диагонали и если они есть, то находится их сумма и количество. После этого проверяется, если есть отрицательные элементы на главной диагонали, то выдается среднее арифметическое, если нет, то на экране ответ "нет отриц"}
const
m=100;
var
a:array[1..m,1..m]of integer;
i,j,S,n,k: integer;
begin
Readln(n);
    for i:=1 to n do
        begin
             writeln;
                 for j:=1 to n do
                      begin
                            a[i,j]:=random(100)-50;
                             write(a[i,j]:4);
                                  
                      end;
         end;
for i:=1 to n do
  if a[i,i]>0 then
        begin
           s:=s+a[i,i];
           k:=k+1;
       end;
writeln;
 if   k<>0 then
      writeln('SR=', s/k)
 else
       writeln('Net <0');
end.
shakovaea

bool ok1(int a, int b, int c){

  return (a+b > c && a+c > b && b+c > a) && min(a,min(b,c)) > 0;

}

bool ok2(int a, int b, int c){

  return ok1(a,b,c) && (a == b || a == c || b == c);

}

signed main(){

  const int n = 3, m = 7;

  int arr[n][m];

  for(int i = 0; i < n; i++)

      for(int j = 0; j < m; j++)

          cin >> arr[i][j];

  vector<int> ans;

  for(int j = 0; j < m; j++)

      if(ok2(arr[0][j],arr[1][j],arr[2][j]))

          ans.push_back(j+1);

  cout << ans.size() << "\n";

  for(auto i: ans)

      cout << i << " ";

}

Подробнее - на -

Объяснение:

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Решить на Питоне n школьников делят k яблок “поровну”, то есть так, чтобы количество яблок, доставшихся любым двум школьникам, отличалось бы не более, чем на 1. Входные данные Программа получает на вход числа n и k. Выходные данные Программа должна вывести количество школьников, которым достанется яблок меньше, чем некоторым из их товарищей. Примечание: При решении этой задачи нельзя пользоваться условной инструкцией if и циклами. Примеры: входные данные: 7, 30 выходные данные: 5 входные данные: 7, 28 выходные данные: 0
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

natkul22
balabina-Olesya
aninepp
Абубакр_Будаш
savva-vika
Lopatkin_Shchepak174
rosik76
iraira761
Yurevich1701
Ohokio198336
shalunovroman
marysya60
rusinfopro
al2nik2ol
arturnanda803