М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
dimadementev2
dimadementev2
17.10.2022 02:52 •  Информатика

Все квадраты натуральных чисел записаны подряд, начиная с единицы. определить, какая цифра стоит на n-м месте. пример ввода: 4 вывода: 1

👇
Ответ:
GenGis
GenGis
17.10.2022
Немного теории.
Для того, чтобы избежать переполнения разрядной сетки, значение квадрата натурального числа не должно превышать максимального числа, представимого выбранным типом данных.
В языке Паскаль числа типа longint записываются в четырех байтах в дополнительном коде, т.е. максимальное значение числа не может превышать 2³¹-1. Тогда максимальное натуральное число, квадрат которого мы можем вычислить, равно целой части от величины:
\displaystyle \lim:= \sqrt{2^{31}-1} \approx 2^{31/2}=2^{15.5}= e^{15.5\cdot ln(2)} 

//PascalABC.Net 3.0, сборка 1066
var
  s:string;
  i,n,lim,l:longint;
begin
  lim:=Trunc(exp(15.5*ln(2)));
  Write('Введите номер позиции: '); Read(n);
  i:=0; l:=0;
  while (l<n) and (i<=lim) do begin
    Inc(i); Str(i*i,s); l:=l+Length(s);
  end;
  if i<=lim then Writeln('Искомая цифра- ',s[Length(s)-l+n])
  else Writeln('Решения в типе данных longint невозможно')
end.

Тестовое решение:
Введите номер позиции: 4
Искомая цифра- 1

Введите номер позиции: 33
Искомая цифра- 5
4,6(23 оценок)
Открыть все ответы
Ответ:
Oksanaa11
Oksanaa11
17.10.2022
Const n=10; 
type ar=array[1..n+1] of integer;
var 
a:ar; i,p:integer; 
procedure pr(var a:ar; p:integer; var k:integer);
begin
k:=1;
while a[k]<>p do k:=k+1;
end;
begin
Randomize;
writeln('Массив A:');
for i:=1 to n do
 begin
 a[i]:=random(31);
 write(a[i]:4);
 end;
writeln;
p:=17;
a[n+1]:=p;
pr(a,p,i);
if i<n 
 then writeln('Значение 17 найдено, номер элемента = ',i)
 else writeln('Значения 17 в массиве нет');
end.

Пример:
Массив A:
  14   5   7  17  25  15  28   0  24   0
Значение 17 найдено, номер элемента = 4
4,5(24 оценок)
Ответ:
настя51001
настя51001
17.10.2022
#include <iostream>
using namespace std;
double val, p;
//вводимые параметры значения функции и степень полинома
//x - значение функции
//res - значение, которое изменяется в процессе рекурсии по схеме Горнера
//s - рассматриваемая текущая степень x
double rec(double x, double res, double s) 
{
  if (s == 0.0)
    return res;
  return rec(x, x * res + s - 1, s - 1);
}
int main(){
  cin >> val >> p;
  //старший коэффициент в схеме Горнера сначала сносится вниз, 
  //поэтому его передаем в качестве начального параметра для результата
  cout << fixed << rec(val, p, p) << endl;
  return 0;
}
4,8(88 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ