Ты бы хоть сказал на каком языке. Ну ладно. Напишу на паскале.
------------------------------------------------------
program prog1;
uses CRT;var x, y: longint;
begin write('x='); readln(x); writeln('y=', (1 - (x * x) + 5 * (x * x * x * x)) * (1 - (x * x) + 5 * (x * x * x * x)));end.
#include<iostream>
#include <ctime>
using namespace std;
void startTimer(int ms) {
clock_t end_time = clock() + ms * (CLOCKS_PER_SEC / 1000);
while (clock() < end_time) {}
}
int main () {
cout << "Waitig for 5 seconds..." << endl;
startTimer(5000); // 5s -> 5000ms
cout << "5 seconds left.";
cin.ignore();
return 0;
}
<h3>Алгоритм решения</h3>
Для каждого числа будем убирать последнюю цифру, пока число не станет нулём. При этом для очередной последней цифры ответ умножаем на 10 и прибавляем к нему эту цифру.
Для одного числа алгоритм будет выглядеть так:
while x > 0:
ans = ans * 10 + (x mod 10)
x = x // 10
Где <em>x </em>- заданное число, <em>ans </em>- ответ на задачу (перевёрнутое число), <em>mod </em>- операция получения остатка, <em>// </em>- операция целочисленного деления.
Формально, <em>x mod 10 </em>возвращает последнюю цифру числа <em>x </em>("остаток от деления x на 10"), а <em>x // 10 возвращает число </em>x <em>без последней цифры ("разделить x на 10 и отбросить остаток").</em>
<h3>Решение (Pascal)</h3>
var
x, i, ans: integer;
begin
for i := 1 to 5 do
begin
read(x);
ans := 0;
while (x > 0) do
begin
ans := ans * 10 + (x mod 10);
x := x div 10;
end;
write(ans, ' ');
end;
writeln;
end.
----------------------------
Файл решения прикреплён.
Var q,i,s:integer;
begin
readln(q);
s:=0;
i:=0;
while s<q do
begin
i:=i+1;
s:=s+i;
end;
if s=q then writeln('Страница = ',i+1)
else writeln('Ошибка ввода');
end.
Пример:
5
<span>Страница = 6</span>
4*1254 - 254 + 9 = 4771
4771 <span>в системе счисления с основанием 5 = 123041
следовательно 1
</span>