Список вопросов
Страна замов. Напишите программу на Python
10th December, 18:14
412
0
На листе клетчатой бумаги рисуют выпуклый 100-угольник с вершинами в узлах сетки. Какое наибольшее число диагоналей этого 100-угольника может идти по линиям сетки?
7th November, 15:29
269
0
Рассмотрим все прямоугольники, длины сторон которых выражены целым числом метров, и периметр которых (в метрах) численно равняется площади (в метрах квадратных). Найдите суммарную площадь всех таких, разных по размеру сторон, прямоугольников.Прямоугольники, отличающиеся порядком сторон, например, 10 * 20 и 20 * 10 считаем одинаковыми.
7th October, 20:57
742
0
Кто и за сколько может написать программу управления курсором?
2nd October, 23:48
501
3
Как авторизоваться на novafilm.tv при помощи cURL?
2nd October, 23:33
382
3
Верстка, position:relative создает пустое место
2nd October, 23:31
326
2
Что улучшить в переводе Apache Public License?
2nd October, 23:29
329
1
Формирование кода видео Вконтакте
2nd October, 23:23
405
3
IPad2 с 3G из Штатов?
2nd October, 23:18
374
5
А будет ли tcpdump видеть ack flood?
2nd October, 23:14
290
2
Альфа банк и странное смс мошенничество?
2nd October, 23:05
665
6
Софт для "ремонта" поврежденного h264 видео?
2nd October, 22:55
302
3
Scrapy — Python
2nd October, 22:54
315
4
Помощь с доставкой из США?
2nd October, 22:47
339
3
Создание stop-motion ролика
2nd October, 22:41
374
5
Верстка ul/li в несколько колонок?
2nd October, 22:41
275
13
Существует ли поисковик, отсортированный по дате?
2nd October, 22:32
310
3
Вопрос к пользователям HTC HD7?
2nd October, 22:32
330
2
Как получить путь к аватару пользователя когда он авторизируется на сайте через openid google?
2nd October, 22:20
346
2
Что случилось с Кенгуру.ТВ?
2nd October, 22:19
380
3
Решение задачи Число - 3 с Acmp
Без пояснения   Просмотров: 213
Дано натуральное число N. Над ним можно произвести следующий набор операций:
вычитать единицу;
делить на три, если число кратно трем;
делить на два, если число четное.
После выполнения одной из операций к полученному результату также можно применить указанные операции, и делается это до тех пор, пока результат не окажется равным 1.
вычитать единицу;
делить на три, если число кратно трем;
делить на два, если число четное.
После выполнения одной из операций к полученному результату также можно применить указанные операции, и делается это до тех пор, пока результат не окажется равным 1.
Код
#include using namespace std; int main() { int n; cin >> n; vector a; a.push_back(0); a.push_back(1); a.push_back(1); for(int i = 3; i < n; ++i){ int s = i + 1; if(s % 2 == 0 && s % 3 == 0){ a.push_back((min(a[i - 1],min(a[i/2],a[i/3]))) + 1); //cout << a[i] << " "; } else if(s % 2 == 0){ a.push_back((min(a[i - 1],a[i/2])) + 1); // cout << a[i] << " "; } else if(s % 3 == 0) a.push_back((min(a[i - 1],a[i/3])) + 1); //cout << a[i] << " "; else a.push_back(a[i - 1] + 1); } cout << a[n - 1]; return 0; }
 
 
 
 
 
Автор: Администратор
