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

Ваш аккаунт

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

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

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

Решаем олимпиадные задачи!!!

2.0K
05 декабря 2003 года
CyberEx
74 / / 30.11.2003
Первая задача такая(кому-то покажется простой,но я же новичок):
//Вычислить два идевять в сотой степени
Я так понял, что нужно создавать новый тип данных, содержащий сто значащих цифр(чем больше тем лучше).
Программа должна быть консольной!________________________________________________
P.S.ПОНЯТИЯ НЕ ИМЕЮ КАК ЭТО СДЕЛАТЬ!!!!!!!!!!!!!!
:{
415
06 декабря 2003 года
SLA
274 / / 08.08.2003
 
Код:
#include <math.h>
#include <stdio.h>

void main (void)
{
double answer;
answer = pow(2.9, 100);
printf("%f\n",answer);
}


И все!
Если не нравится как выглядит то что выводит на экран эта программа, нужно играться с командой printf. Т.е. пробовать всякие %e %g %E %G вместо %f.

"e+46" вконце числа означает "x10^46" (т.е. умножить на "еденицу с 46-ю нулями"). Если хочешь сделать без этого "e+46" (хотя выглядеть это будет ИМХО глупо, никакой калькулятор этого не делает), то используй sprintf() вместо printf(), и потом ковыряйся в получившейся строке (вырезай точку, отрезай "e+46", дополняй сколько требуется нулей вконце до 46 знаков).

И еще. Если число тебе кажется неточным, можешь попробовать вместо double поставить что-нибудь покруче, если в твоем компиляторе такое есть. Например long double.
2.0K
06 декабря 2003 года
CyberEx
74 / / 30.11.2003
Цитата:
Originally posted by SLA
 
Код:
#include <math.h>
#include <stdio.h>

void main (void)
{
double answer;
answer = pow(2.9, 100);
printf("%f\n",answer);
}


И все!
Если не нравится как выглядит то что выводит на экран эта программа, нужно играться с командой printf. Т.е. пробовать всякие %e %g %E %G вместо %f.

"e+46" вконце числа означает "x10^46" (т.е. умножить на "еденицу с 46-ю нулями"). Если хочешь сделать без этого "e+46" (хотя выглядеть это будет ИМХО глупо, никакой калькулятор этого не делает), то используй sprintf() вместо printf(), и потом ковыряйся в получившейся строке (вырезай точку, отрезай "e+46", дополняй сколько требуется нулей вконце до 46 знаков).

И еще. Если число тебе кажется неточным, можешь попробовать вместо double поставить что-нибудь покруче, если в твоем компиляторе такое есть. Например long double.


Наверное я неправильно выразился.
Мене нужно не только посчитать два в сотой степени и вывести результат, но и научить комп работать с такими числами(умножать,складывать,уравнения решать).Что это возможно я знаю точно,т.к. у меня есть библиотека позволяющая это делать, но я не могу понять ее устройство,а ОЧЕНЬ надо!
P(

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог