Объясните как определить асимптотику алгоритма языком. вот, к примеру, задача "Число действий алгоритма выражается следующей суммой: n+2n+3n+...+n⋅n Чему равна его асимптотика я в 8 классе, мы ещё это не проходили(
Program Number; var x: integer; { введенное число } n: byte := 0; { количество цифр в числе } i, j: byte; { счетчики } xi: array[1..5] of integer;{массив цифр, из которых состоит число} begin { Ввод исходного числа } readln(x); writeln; x := abs(x); // рассматриваем модуль числа { Разбиение числа на цифры } while (x > 0) do begin n := n + 1; // увеличиваем количество цифр xi[n] := x mod 10; // вычисляем цифру (остаток от деления на 10) if xi[n] = 8 then // если встретилась 8, begin writeln('да'); // то число "бесконечное" readln; exit; // выход из программы end; x := x div 10; // изменяем число (целое от деления на 10) end; { Поиск цифр, встречающихся больше одного раза} for i := 1 to n - 1 do for j := i + 1 to n do if xi[i] = xi[j] then // если числа begin writeln('да'); // то число "бесконечное" readln; exit; // выход из программы end; { Число не явлется "бесконечным" } writeln('нет');end.
#include <iostream>
void main()
{
int x;
std::cin>>x;
int sum = 0;
int prod = 1;
while(x>0)
{
int y = x%10;
sum = sum + y;
prod = prod * y;
x=x/10;
}
if(sum%10 == 0 && prod < 100)
std::cou<<"Yes"<<endl;
else:
std::cout<<"No"<<endl;
}
Pascal
var n,digit,sum,prod:integer;
begin
readln(n);
sum = 0;
prod = 1;
while (n>0) do
begin
digit:=n mod 10;
sum = sum+digit;
prod = prod * digit;
n:=n div 10;
end;
if(sum mod 10=0)and(prod<100)
begin
writeln("да");
end
else
begin
writeln("Нет"):
end;
Как то так
end.
var x: integer; { введенное число } n: byte := 0; { количество цифр в числе } i, j: byte; { счетчики } xi: array[1..5] of integer;{массив цифр, из которых состоит число}
begin { Ввод исходного числа } readln(x); writeln; x := abs(x); // рассматриваем модуль числа { Разбиение числа на цифры } while (x > 0) do begin n := n + 1; // увеличиваем количество цифр xi[n] := x mod 10; // вычисляем цифру (остаток от деления на 10) if xi[n] = 8 then // если встретилась 8, begin writeln('да'); // то число "бесконечное" readln; exit; // выход из программы end; x := x div 10; // изменяем число (целое от деления на 10) end; { Поиск цифр, встречающихся больше одного раза} for i := 1 to n - 1 do for j := i + 1 to n do if xi[i] = xi[j] then // если числа begin writeln('да'); // то число "бесконечное" readln; exit; // выход из программы end; { Число не явлется "бесконечным" } writeln('нет');end.