Статистика
Всего в нашей базе более 4 327 663 вопросов и 6 445 978 ответов!

Помогите решить задачу за 9 касс по информатике.

5-9 класс

Найдите произведение нечётных чисел от 100 до 150

Vera30 25 сент. 2013 г., 15:58:10 (10 лет назад)
Рейтинг
+ 0 -
0 Жалоба
+ 0 -
Onishko11
25 сент. 2013 г., 18:18:46 (10 лет назад)

Реализовано целочисленное умножение произвольной точности.

const
  n = 100;{максимальное количество цифр в числе}

type
  big = record
    v: array[1..n] of byte; {массив с цифрами числа}
    m: integer {количество цифр в числе}
  end;

function TruncBig(a: big): big;
{Усекает незначащие нули}
var
  i, p, n: integer;

begin
  n := a.m;
  p := 0;
  while (p < n) and (a.v[p + 1] = 0) do p := p + 1;
  for i := 1 to n - p do Result.v[i] := a.v[i + p];
  Result.m := n - p
end;

function Str2Big(s: string): big;
{Переводит строковое представление в big}
var
  i, n, k, err: integer;

begin
  n := Length(s);
  Result.m := n;
  for i := 1 to n do
  begin
    Val(s[i], k, err);
    Result.v[i] := k
  end
end;

function Big2Str(p: big; truncation: boolean := false): string;
{Переводит представление big в строковое}
var
  i, n: integer;
  c, s: string;

begin
  s := '';
  n := p.m;
  for i := 1 to n do
  begin
    Str(p.v[i], c);
    s := s + c
  end;
  if truncation then begin
    i := 0;
    while (s[i + 1] = '0') and (i < n) do i := i + 1;
    if i > 0 then s := Copy(s, i + 1, n - i)
  end;
  Result := s
end;

function MultBig(a, b: big): big;
{Возвращает произведение чисел типа big}
var
  i, j, k, m, n, s: integer;

begin
  m := a.m; n := b.m;
  for i := m to m + n do Result.v[i] := 0;
  Result.m := m + n;
  for j := n downto 1 do
  begin
    if b.v[j] = 0 then Result.v[j + m + n - 1] := 0
    else begin
      k := 0;
      for i := m downto 1 do
      begin
        s := a.v[i] * b.v[j] + Result.v[i + j] + k;
        Result.v[i + j] := s mod 10;
        k := s div 10
      end;   
      Result.v[j] := k
    end
  end;
  Result := TruncBig(Result);
end;

var
  a, b: big;
  s: string;
  i: integer;

begin
  s := '101';
  a := Str2Big(s);
  i := 103;
  while i <= 150 do
  begin
    Str(i, s);
    b := Str2Big(s);
    a := MultBig(a, b);
    i := i + 2
  end;
  Writeln(Big2Str(a))
end.

Результат выполнения:
22366756668201709645820891817450061318871259559453125

**** Если точность не нужна ****

var
  p: double;
  i: integer;

begin
  i := 103; p := 101;
  while i <= 150 do
  begin
    p := p * i;
    i := i + 2
  end;
  Writeln(p)
end.

Результат выполнения:
2.23667566682017E+52



+ 0 -
Anderson8
25 сент. 2013 г., 19:48:54 (10 лет назад)

Т.е. все же программу написать? Или Вы будете по ней вручную 25 чисел перемножать? Там получается ответ 22366756668201709645820891817450061318871259559453125 и с этой точностью он непредставим в компьютере при использовании обычных средств арифметики.

+ 0 -
LomtikA
25 сент. 2013 г., 20:19:43 (10 лет назад)

Напишите программу если не сложно..

+ 0 -
Ooolllyyyaaa
25 сент. 2013 г., 22:45:14 (10 лет назад)

Вы меня не поняли? Нельзя в машине даже в 16 байтах (это максимальная разрядность целых чисел) представить такой результат. А с плавающей точкой результат будет ограничен точностью в 16-17 цифр

+ 0 -
Qweeck
25 сент. 2013 г., 23:16:56 (10 лет назад)

Вместо того, что я написал выше, получится 2.23667566682017E+52

+ 0 -
656870781
26 сент. 2013 г., 1:56:50 (10 лет назад)

Устроит?

Ответить

Другие вопросы из категории

Маша Птичкина любит играть в игру Веселый Фермер . И вот как-то раз ее ферма нуждалась в покраске. Маша решила начать с противопожарного щита и покрасить е

го почему-то не в красный , а в оранжевый цвет. Но для этого надо смешать краски желтого (6 частей ) и красного (2 части) цветов. Сколько грамм оранжевой краски может получить Маша, имея в наличии 300г желтой и 600г красной краски

продолжите фразы

1)модель
2)натурная(материальная)модель
3)информационная модель

Читайте также

Пожалуйста помогите решить задачу по информатике!

Задача: Две
хозяйки купили 8 литров молока. У одной 5 литров в 6- литровом бидоне, у
другой 3 литра в 5 - литровом бидоне. Они решили разделить всё молоко
поровну, по 4 литра, пользуясь ещё одним, 2 - литровом бидоном. Как это
сделать?

PASCAL. нужна помощь. ПОЖАЛУЙСТА помогите решить задачу в PASCAL (если рОЧЕНЬ нужна помощь. ПОЖАЛУЙСТА помогите решить задачу в PASCAL (если решиш - проси

что угодно, помогу)Вот задача - Под конец учебного года ученики 11 класса решали понять у кого же из них будет самый высокий средний балл ? Известно , что - в классе учится 14 учеников, - Сумма всех средних баллов аттестата = 100.Известно также , что первый ученик имел средний балл, который составляет 1/ 12 суммы всех средних баллов. Второй ученик - на 0,15 % больше, чем первый ученик , но на 1,75 % меньше , чем третий ученик . Средние баллы аттестатов двух сестер были равными среднему арефметичному оценок вышеупомянутых учеников , разделенном на 1.5 . Четвертый ученика на конец года имел такой же балл , как и первый ученик , но на 5% меньше , а остальные ученики - имели равные баллы .Какой средний балл на конец года получил каждЫй?

1)Информатика-это наука... 2)География-это наука... 3)Фонетика-это раздел науки о... 4)Ботаника-это раздел науки о... 5)Имя

существительное-это самостоятельная часть речи,...

6)Глагаол-это самостоятельная часть речи,...

7)Земледельцы-это люди,...

8)Животноводы-это люди,...

9)Тяжёлая промышленность-это...

10)Лёгкая ромышленность-это...

Ребята пожалуйста помогите решить задание для 6 класса по информатике.

помогите решить задачи по информатике (на уровне знаний 7 класса) с помощю PascalABC

1. Дано 2 числа найти модуль разности этих чисел увеличенный в 5 раз.
2. Дано 4 значное число поменять местами 1 и 2 цифру местами
3. Дан диаметр круга найти его площадь (формула S=п*R).
Я примерно знаю как писать но всеровно нуждаюсь в помощи
Мои мысли:
program z1;
uses crt;
var ... : integer;
begin
дальше всё в тумане
буду рад за решённые 1 или 2 задачи

помогите решить задачу по информатике за 6 класс-условие в пояснение Туристы-отец, мать и два брата-близнеца должны переправиться через

реку.В их распоряжении есть маленькая лодка, вмещающая только одного взрослого или двоих детей.Как организовать переправу если и взрослые и дети умеют грести?



Вы находитесь на странице вопроса "Помогите решить задачу за 9 касс по информатике.", категории "информатика". Данный вопрос относится к разделу "5-9" классов. Здесь вы сможете получить ответ, а также обсудить вопрос с посетителями сайта. Автоматический умный поиск поможет найти похожие вопросы в категории "информатика". Если ваш вопрос отличается или ответы не подходят, вы можете задать новый вопрос, воспользовавшись кнопкой в верхней части сайта.