ИНФОРМАТИКА РЕШИТЕ ЗАДАЧУ (5-6КЛАССЫ)С МАССИВОМ Вводится n целых элементов <10³,сами элементы <=10¹⁸ вывести номера у которых нечётное кол во цифр и число является перевертышом.
1. Если число в двоичной системе заканчивается на 00, значит оно кратно 4-м в десятичной системе. То есть нужно определить, сколько существует двузначных чисел, которые в квадрате кратны 4-м.10*10 Квадрат числа будет кратен четырем в том случае, если это число чётное, то есть ответом будет кол-во четных двузначных чисел, а это 45.
2. 3 бита это 2^3 = 1 из 8 вариантов. Значит четверки - это 1/8 от всех оценок, 64/8=8 четверок
3. Всего существует 5 четных цифр (включая 0). Из них можно составить 5^4 = 625 различных четырёхзначных комбинаций.
Рекурсивный подход.(Символы тоже удаляет) function grad(s:string):string; var i:byte; detect:boolean; begin while i < length(s) - 2 do begin inc(i); if (s[i] = s[i+1]) and (s[i] = s[i+2]) then {проверка последовательности из 3 елементов} begin delete(s,i,3); {если да - удаляем их} detect:=True; {логическая переменная регистрирует изменение строки} end;end; if detect = True then s:=grad(s); {если строку изменили , проверяем не появились ли там еще последовальности} grad:=s; end;
var s:string; begin readln(s); writeln(grad(s)); end.
#include <iostream>
#include <vector>
using namespace std;
int main(){
int n;
cin >> n;
vector<int> res;
for(int i = 0; i < n; i++){
int x;
cin >> x;
int x1 = x, x2 = x, cnt = 0;
while(x1 > 0){
cnt++;
x1 /= 10;
}
if(cnt % 2 == 1){
int xx = 0, u = 0;
while(x2 > 0){
xx += (x2 % 10) * pow(10,u);
u++;
x2 /= 10;
}
if(x == xx)
res.push_back(i + 1);
}
}
for(auto &i : res)
cout << i << " ";
}