Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Решение задачи!

4.9K
27 марта 2004 года
^qip
11 / / 22.03.2004
Подскажите как решить задачу!

<Вычислить 2 в 1000-ной степени...

Я решаю так.


#include <stdio.h>
int main(void)
{
long int x=2,h;
for (x=0; x<=1000; x++) h=x*x;
printf("%d\n",h);
scanf("%d");
return 0;
}

Но объём типа данных не позволяет выдать такое крупное число...

Как ещё можно решить эту задачу???
5.3K
27 марта 2004 года
Oksidant
11 / / 15.03.2004
Для этого (ИМХО) требуется создать свой класс, который поддерживает большее количество знаков...
Я где то про такие задачки читал и там их решали создавая свой класс.
4.6K
27 марта 2004 года
mustlive
37 / / 27.03.2004
RTFM

#include <math.h>
double pow( double x, double y );

Description:

The pow function computes x raised to the power y. A domain error occurs if x is zero and y is less than or equal to 0, or if x is negative and y is not an integer. A range error may occur.

Returns:

The pow function returns the value of x raised to the power y. When the argument is outside the permissible range, the matherr function is called. Unless the default matherr function is replaced, it will set the global variable errno to EDOM, and print a "DOMAIN error" diagnostic message using the stderr stream.


Мне честно говоря лень считать, сколько будет 2 в 1000, но если не хватит этой функции и разрядов double для вычисления, тогда действительно придется писать что-то свое
4.6K
27 марта 2004 года
mustlive
37 / / 27.03.2004
double rez;
WString rezult;
rez=pow(2,1000);
if(errno!=0) label_1->SetText("Не лезет, собака!");
else {
rezult.Sprintf("%g",rez);
label_1->SetText(rezult);
}

Это под винду.
У меня, кстати, получилось число 1.07151e+301 ;-)
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог