ПогальниковАлёна589
?>

Вы — большой любитель бактерий. вам хочется вырастить немного бактерий в коробочке. изначально коробочка пуста. каждое утро можно положить любое количество бактерий в коробочку. каждую ночь каждая бактерия делится на две бактерии. когда-нибудь вы надеетесь увидеть ровно x бактерий в коробочке. какое минимальное количество бактерий вам суммарно надо положить в коробочку для достижения этой цели? входные данные в единственной строке записано одно целое число x (1 ≤ x ≤ 109) — количество бактерий. выходные данные единственная строка, содержащая одно целое число — ответ на .

Информатика

Ответы

Овезова Игорь
#include <stdio.h>#include <stdlib.h>

int main(void){    int count, result = 0;    scanf ("%d", &count);    while (count)    {        if (count & 1)            result++;        count >>= 1;    }    printf ("%d\n", result); return 0;}
e-liza-k
Складываем младшие разряды привычным образом: 4+3=7. Смотрим младший разряд в ответе: 2. Но 2 меньше 7, следователь был перенос единицы в старший разряд, т.е. получилось число 12 по искомому основанию n.
Получаем простейшее уравнение:
12_n=7_{10}; \ 1\times n+2=7 \to n=5

Можно было и не составлять уравнения, а найти разницу между 12 и 7. Она равна 5 - это и есть основание системы. На самом деле, еще надо вычесть эту пятерку из десяти, но когда получается именно 5, этого можно не делать. Поначалу кажется, что это решение какое-то путаное, но на самом деле оно несложное, только основано оно на вычетах, чего в школах обычно не затрагивают.

ответ: в) 5
lzelenyi5
1. Первый элемент массива не менялся, значит M[0] = 3
2. Чтобы получить M[1] надо рассмотреть такой вариант:
14 = MAS[0]*3+X, где Х есть предыдущее значение элемента M[1], получим, что Х = 5 и изначально  M[1] = 5
3. Зная второй элемент массива несложно получить и третий:
47 = MAS[1] * 3 + X = 14*3 +X, где Х есть предыдущее значение элемента M[2], получим, что Х = 5 и изначально  M[2] = 5
4. Аналогично находим, что первоначальное значение М[3] =  1, а M[4]  = 2

5. Значит массив изначально был такой:
3 5 5 1 2

Напишем код на Python для проверки:
MAS = [3,5,5,1,2]
print(MAS[0],sep=' ', end=' ')
for i in range(1,5):
    MAS[i] +=MAS[i-1]*3
    print(MAS[i],sep=' ', end=' ')

Результат:
3 14 47 142 428

ответ: 3 5 5 1 2

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

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

Вы — большой любитель бактерий. вам хочется вырастить немного бактерий в коробочке. изначально коробочка пуста. каждое утро можно положить любое количество бактерий в коробочку. каждую ночь каждая бактерия делится на две бактерии. когда-нибудь вы надеетесь увидеть ровно x бактерий в коробочке. какое минимальное количество бактерий вам суммарно надо положить в коробочку для достижения этой цели? входные данные в единственной строке записано одно целое число x (1 ≤ x ≤ 109) — количество бактерий. выходные данные единственная строка, содержащая одно целое число — ответ на .
Ваше имя (никнейм)*
Email*
Комментарий*

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

Pavlushina-Novikova
rynaodal
mar77873
Екатерина
h777eta
Bmashutav16
Anna389
irinatikhonov
Petrosienko_Larisa,1908
djevgen
ank9809
ftyh6
fouettearoma
stsnab
dvpered