using namespace std;
// число представлено как string для удобства
unsigned long long deletion(const string& str)
{
if (str.size() < 3)
return 0;
vector<string> vec;
for (auto i = str.begin(), end = str.end() - 2; i < end; ++i){
// если первая цифра > 0 то чисто трехзначное
if (*i > '0'){
for (auto j = i + 1, end = str.end() - 1; j != end; ++j){
for (auto u = j + 1, end = str.end(); u != end; ++u){
string temp;
temp.push_back(*i);
temp.push_back(*j);
temp.push_back(*u);
vec.push_back(temp);
}
}
}
}
set<string> temp(vec.begin(), vec.end()); // удаляю повторяющиеся
return temp.size();
}
int main()
{
cout << deletion("1114526987200121343469469454668464397676877676876769764578543947354897321654467437513721375879786546");
}
Объяснение:
c++
Задача 1
var
y, x: integer;// Объявляем переменные типа Integer
begin// Начало блока
writeln('Введите X: '); //Выводим текст на экран
read(x); //Читаем значение введеное с кливиатуры и записываем его в переменную
y := 7 * x * 2 - 3 * x + 6; //Выолняем выражение
writeln('Результат: ', y);// Выводим результат
end. // конец блока
Задача 2:
var
a, b, c: integer;//Объявление переменных
begin
write('Введите длину ребра куба '); //Вывод текста на экран
read(a); //Читаем значение введеное с клавиатуры
b := a * a * a; //Вычисляем объем куба
c := 6 * sqr(a); //Sqr - квадрат числа
{Далее опять же вывод результата}
writeln('Объём куба равен ', b);
writeln('Площадь боковой поверхности куба равна ', c);
end.
Задача 3
var
k: integer;//Объявление переменных
begin
write('Введите число: '); //Вывод текста на экран
read(k); //Читаем значение введное с клавиатуры
if Odd(k) then //Odd - возвращает True - если значение нечетно и False если четно
writeln('Нечетное')
else
writeln('Четное');
end.
Задача 4:
var
a, b: integer;
begin
writeln('Введите a и b через пробел:');
readln(a, b);
if (b mod a = 0) then writeln('Число ', a, ' является делителем числа ', b)
else writeln('Число ', a, ' НЕ является делителем числа ', b);
end.
Задача 5:
var
a, b: real;
begin
writeln('Через пробел введите 2 числа: ');
read(a, b);
if a > b then //Условие если А больше Б
begin
a := a / 2; //Делим число А на 2 и выводим результат
writeln('A:= ', a, ' B:= ', b);
end
else //Иначе оставляем все как и было
writeln('A:= ', a, ' B:= ', b);
end.