kabinet17
?>

Написать программу, которая вводит с клавиатуры 10 целых чисел и печатает их сумму. (С программы Java)

Информатика

Ответы

kazimov832

Исходный код:

def pack(m, k, l, p=0):

   c = 0  # базовый случай когда еще не создавали контейнеры

   # если есть что еще фасовать по пакетам

   if m >= l:

       m -= l

       p += 1

       c, p, m = pack(m, k, l, p)  # продолжаем фасовать муку

   # если можно создать контейнер, то создаем

   if p >= k:

       p -= k  

       c += 1

   return c, p, m

m, k, l = map(int, input().split())

print(*pack(m, k, l))

Примечание:

Часть объяснений выполнено в виде комментариев в коде. Комментарии перед отправкой на проверку рекомендую стереть.

Описание переменных: m - остаток муки на текущий момент, k - кол-во пакетов в контейнере, l - кол-во муки в пакете. c - кол-во полных контейнеров, p - кол-во полных пакетов муки. При рекурсивном погружении фасуем по пакетам, при всплытии фасуем по контейнерам. Грамотная возвращение и передача параметров делают свое дело.

Cкрин из редактора кода тоже прикрепил)


На питоне через рекурсию На складе в контейнеры упаковывают пакеты с мукой. Сначала мука пакуется в
Alyona

1)Задание:

#include <iostream>

#include <iomanip>

#include <time.h>

#include <stdlib.h>

using namespace std;

int main(){

setlocale(LC_ALL, "Russian");

int Indexmax=0;

srand(time (NULL));

int max = 0;

const int N=19;

int array[N];

int i;

for(i=0;i<N;i++)

{

array[i]=rand()%50;

cout<< setw(5) <<array[i];

}

cout << endl;

for(i=0;i<N;i++)

{

if(array[i]>max && array[i] % 5 == 0)

{

max=array[i];

}

}

cout << endl;

if(max)

cout<<"max=" << max << endl;

else

cout << "Чётных нету";

return 0;

}

2) Задание:

#include <iostream>

#include <iomanip>

#include <time.h>

#include <stdlib.h>

using namespace std;

int main(){

setlocale(LC_ALL, "Russian");

int last2 ;

int last;

srand(time (NULL));

const int N=19;

int array[N];

int i;

cout<< "До замены: " << endl;

for(i=0;i<N;i++)

{

array[i]=rand()%50 - 10;

cout<< setw(5) <<array[i];

}

cout << endl;

for(i=0;i<N;i++)

{

if(array[i]>0)

{

last = array[i];

}

}

cout<<"После замены: " << endl;

for(i=0;i<N;i++)

{

if(array[i]<0)

{

array[i]=last;

}

cout<< setw(5) <<array[i];

}

cout << endl;

cout << "Последнее число массива: "<< last;

return 0;

}

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

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

Написать программу, которая вводит с клавиатуры 10 целых чисел и печатает их сумму. (С программы Java)
Ваше имя (никнейм)*
Email*
Комментарий*