##
var n := ReadInteger;
var s := ReadSeqInteger(n);
s.Where(t -> t mod 10 = 3).Max.Print
55:5=11
365:11≈33(34) берём "34", чтобы перехлестнуть 365.
Так как 11-ый член является замыкающим (перехлёстывающим 365), тогда смотрим по ближайшим:
34*10=340 (340+34=374) - подходит, но это не максимум!
365 mod 10= 36, а это значит, что последующий член будет больше 365, а именно 395.
В задании сказано, что d должно быть максимальным, а "34" - это допустимое, но не максимально число, удовлетворяющее условию, даже минимальное (по результату).
Проверка:
34*11=374, значит, когда на экране выведется s:=340, n:=50, то, зайдя по следующему циклу, получится, что s:= 374, n:=55. На следующий цикл программа не пойдёт.
ответ: d=34.
На с++ будет так
#include <iostream>
int main()
{
int Count;
std::cout << "Enter count of numbers\n";
std::cin >> Count;
int Numbers[1000];
std::cout << "Enter "<< Count <<" numbers\n";
for (int i = 0; i < Count; i++)
{
std::cin >> Numbers[i];
}
int MaxNumber = -1;
int MaxNumberIndex = -1;
int TempNumberEnd;
for (int i = 0; i < Count; i++)
{
TempNumberEnd = Numbers[i] % 10;
if (TempNumberEnd == 3 && Numbers[i] > MaxNumber)
{
MaxNumberIndex = i;
MaxNumber = Numbers[i];
}
}
std::cout << "Max value number index " << (MaxNumberIndex+1)<< "\n";
std::cin.get();
}