Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Тип данных Extended, Большие числа 
:(
    Опции темы
gambit
  Дата 6.10.2006, 17:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***
Награды: 1



Профиль
Группа: Комодератор
Сообщений: 1359
Регистрация: 25.6.2006
Где: я?

Репутация: нет
Всего: 40



Привет. Расскажите как в проге использовать очень большие числа например 10 в 1000 степени?
нашел тип данных Extended но как им пользоваться не знаю(как переводить в integer и использовать в циклах). Помогите. smile 
PM MAIL ICQ Skype   Вверх
Rodman
Дата 6.10.2006, 17:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


CIO
****


Профиль
Группа: Участник
Сообщений: 6144
Регистрация: 7.5.2006
Где: Ukraine ⇛ Kyiv ci ty

Репутация: 7
Всего: 122



вооще то в цыкле можно использовать только integer, но большие числа он не потянет... Есть такой тип как Int64... не пробовал, но может тебе поможет
PM MAIL WWW Skype GTalk YIM MSN   Вверх
ivan219
Дата 6.10.2006, 17:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1121
Регистрация: 19.11.2005
Где: Планета земля

Репутация: 2
Всего: 12



А зачем тебе цикл длинной в
Цитата

10 в 1000 степени

 smile 
PM MAIL ICQ   Вверх
Snowy
Дата 6.10.2006, 17:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 192
Всего: 484



Числа такого размера потянет только string.
PM MAIL   Вверх
volvo877
Дата 6.10.2006, 17:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2073
Регистрация: 15.11.2004

Репутация: 14
Всего: 116



Цитата(Rodman @  6.10.2006,  16:21 Найти цитируемый пост)
Есть такой тип как Int64... не пробовал, но может тебе поможет 
Не поможет... Int64 может хранить значения в интервале -/+ (2^63 - 1), а человеку надо до 10^1000

gambit, для работы с такими значениями тебе придется использовать длинночисленную арифметику (пример см. в DRKB)


Это сообщение отредактировал(а) volvo877 - 6.10.2006, 17:50
PM MAIL   Вверх
Rodman
Дата 6.10.2006, 17:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


CIO
****


Профиль
Группа: Участник
Сообщений: 6144
Регистрация: 7.5.2006
Где: Ukraine ⇛ Kyiv ci ty

Репутация: 7
Всего: 122



может лучше будет использовать while... 
PM MAIL WWW Skype GTalk YIM MSN   Вверх
gambit
Дата 6.10.2006, 20:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***
Награды: 1



Профиль
Группа: Комодератор
Сообщений: 1359
Регистрация: 25.6.2006
Где: я?

Репутация: нет
Всего: 40



Цитата

А зачем тебе цикл длинной в

Цитата

10 в 1000 степени



Я готовлюсь к чемп. мира. В прошлом году у меня была задача:
Дано 2 числа одно(а) от 100 до 10 в 1000 степени другое(в) от 1 до 999
Надо из числа "а" вывести "в" кол-во vax цифр.

В принципе я задачу сделал но у меня её не приняли, она не прошла тест с большими числами.
Вот я и подумал как можно использовать такие числа???
А вдруг на этом чемпионате будет подобное.
Код

program Project2;

{$APPTYPE CONSOLE}

uses
  SysUtils;

var f : textfile;
var a, c, b, q,h :int64;
var s:string;
var m: array of integer;
var m1: array of integer;
var i,j:integer;
begin
assignfile(f,'input.txt');
reset(f);
readln(f,a,h);
closefile(f);

s:=inttostr(a);
c:= length(s);      //определение кол-во цифр

setlength(m,c);     //определение размерности массива
setlength(m1,c);
q:=a;

for i:=0 to c-1 do  // занесение в массив значений
begin
m[i]:= q mod 10;
q:=q div 10;
end;

for i:=0 to c-1 do  // занесение в массив значений
begin
m1[i]:= 10;
end;

for j:=0 to c-1 do
begin
for i:=0 to c-1 do
begin
 if m1[j]>m[i] then
begin
m1[j]:=m[i];
b:=i;
end
else
m1[j]:=m1[j];
end;
m[b]:=10;
end;

s:='';

for i:=c-1 downto c-h do
begin
s:=s+inttostr(m1[i]);
end;

assignfile(f,'output.txt');
rewrite(f);
writeln(f,s);
closefile(f);

end.

PM MAIL ICQ Skype   Вверх
Sunvas
Дата 6.10.2006, 20:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Соль и сахар
****


Профиль
Группа: Участник
Сообщений: 3388
Регистрация: 12.3.2006
Где: Тосно

Репутация: 28
Всего: 89



Цитата(Rodman @  6.10.2006,  17:49 Найти цитируемый пост)
может лучше будет использовать while...  

Или Repeat...


--------------------
Воспитывая детей по своему образу и подобию, родители почему-то надеются, что они будут лучше их.
PM MAIL   Вверх
ivan219
Дата 7.10.2006, 09:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1121
Регистрация: 19.11.2005
Где: Планета земля

Репутация: 2
Всего: 12



Цитата

Дано 2 числа одно(а) от 100 до 10 в 1000 степени другое(в) от 1 до 999
Надо из числа "а" вывести "в" кол-во vax цифр.

А обясни поподробнее что это такое smile 
PM MAIL ICQ   Вверх
Albinos_x
Дата 7.10.2006, 10:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Evil Skynet
****


Профиль
Группа: Комодератор
Сообщений: 3288
Регистрация: 28.5.2004
Где: X-6120400 Y-1 4624650

Репутация: 26
Всего: 108



можно использовать 
Цитата

Extended    
  10-битовый вещественный,  19-20 значащих цифр  
  -1,1е+4932..-1,9е-4951 /  1,9е-4951..1,1е+4932   
 

Цитата(gambit @  6.10.2006,  20:22 Найти цитируемый пост)
Вот я и подумал как можно использовать такие числа???

испльзовать цыклы с пред и пост условием, может где-то рекурсии... проверять на возможное переполнение для обеспечения необходимых расчётов... 



--------------------
"Кто владеет информацией, тот владеет миром"    
Уинстон Черчилль
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0570 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.