Список вопросов
Как зайти в Даркнет?!
25th January, 01:11
4
0
Как в tkinter из поля ввода Entry получить значение в одну переменную и обновить строку кнопкой, затем получить ещё одно введённое значение и затем сложить их. Ниже пример кода
21st July, 19:00
891
0
Программа, которая создает фейковые сервера в поиске игровых серверов CS 1.6 Steam
21st March, 17:43
946
0
Очень долго работает Update запрос Oracle
27th January, 09:58
912
0
не могу запустить сервер на tomcat HTTP Status 404 – Not Found
21st January, 18:02
905
0
Где можно найти фрилансера для выполнения поступающих задач, на постоянной основе?
2nd December, 09:48
936
0
Разработка мобильной кроссплатформенной военной игры
16th July, 17:57
1723
0
период по дням
25th October, 10:44
3954
0
Пишу скрипты для BAS только на запросах
16th September, 02:42
3720
0
Некорректный скрипт для закрытия блока
14th April, 18:33
4613
0
прокидывать exception в блоках try-catch JAVA
11th March, 21:11
4380
0
Помогите пожалуйста решить задачи
24th November, 23:53
6084
0
Не понимаю почему не открывается детальное описание продукта
11th November, 11:51
4350
0
Нужно решить задачу по программированию на массивы
27th October, 18:01
4394
0
Метода Крамера С++
23rd October, 11:55
4308
0
помогите решить задачу на C++
22nd October, 17:31
4002
0
Помогите решить задачу на python с codeforces
22nd October, 11:11
4492
0
Python с нуля: полное руководство для начинающих
18th June, 13:58
2598
0
Решение задачи Двоякие числа с Acmp
Без пояснения   Просмотров: 2817
Натуральное число называется двояким, если в его десятичной записи встречается не более двух различных цифр. Например, числа 3, 23, 33, 100, 12121 — двоякие, а числа 123 и 9980 — нет.
Код
#include using namespace std; int main() { int n, k = 0; cin >> n; int a = n, per = n, per1 = n, s1 = 0, s2 = 0; vector b; while(a){ b.push_back(a % 10); a/=10; } sort(b.begin(), b.begin() + b.size()); for(int i = 0; i < b.size(); ++i) if(b[i] != b[i + 1]) k++; if(k < 3){ cout << n; return 0; } bool bb = false; while(!bb){ b.clear(); --per; a = per; k = 0; while(a){ b.push_back(a % 10); a/=10; } sort(b.begin(), b.begin() + b.size()); for(int i = 0; i < b.size(); ++i) if(b[i] != b[i + 1]) ++k; if(k < 3){ s1 = per; bb = 1; } } if(s1 - n == 1){ cout << s1; return 0; } bb = false; while(!bb){ b.clear(); ++per1; a = per1; k = 0; while(a){ b.push_back(a % 10); a/=10; } sort(b.begin(), b.begin() + b.size()); for(int i = 0; i < b.size(); ++i) if(b[i] != b[i + 1]) ++k; if(k < 3){ s2 = per1; bb = 1; } } if(n - s1 <= s2 - n) cout << s1; else cout << s2; return 0; }
 
 
 
 
 
Автор: Администратор
Автор: Администратор
Комментарии
-
Тимур
2021-10-28 19:12:33
#include<iostream>
#include<set>
using namespace std;
set<int> arr;
bool func(int n) {
arr.clear();
while (n!=0)
{
int t = n % 10;
arr.insert(t);
n /= 10;
}
if (arr.size()>2)
{
return false;
}
return true;
}
int main(){
int n;
cin >> n;
int b = n;
int a=n;
while (true)
{
if (func(n))
{
break;
}
n--;
}
while (true)
{
if (func(a))
{
break;
}
a++;
}
if ((b-n)>(a-b))
{
cout << a;
}
else
{
cout << n;
}
}
info@mycod.net  
Карта сайта  
Правообладателям
Заявка на расчет
×
или напишите нам прямо сейчас: