Форум программистов, компьютерный форум CyberForum.ru

Unsigned long в с++ - C++

Восстановить пароль Регистрация
 
lesya1
0 / 0 / 0
Регистрация: 14.03.2014
Сообщений: 46
30.03.2014, 20:20     Unsigned long в с++ #1
Помогите пожалуйста реализовать операции возведение в степень, извлечение корня и операцию % с типом Unsigned long.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
zss
Модератор
Эксперт С++
 Аватар для zss
5955 / 5560 / 1788
Регистрация: 18.12.2011
Сообщений: 14,209
Завершенные тесты: 1
30.03.2014, 20:57     Unsigned long в с++ #2
Возведение в степень:
C++
1
2
3
4
5
6
7
unsigned long pow(unsigned long x,unsigned long y)
{
     unsigned long t=1;
     for(unsigned long i=0;i<y;i++)
              t*=x;
     return t;
}
Остаток от деления встроен
C++
1
unsigned long t=x%y;
Корень можно так
C++
1
2
3
4
unsigned long sqrt(unsigned long x)
{
        return static_cast<unsigned long>(sqrt(static_cast<double>(x)));
}
lesya1
0 / 0 / 0
Регистрация: 14.03.2014
Сообщений: 46
30.03.2014, 21:12  [ТС]     Unsigned long в с++ #3
объясните пожалуйста поподробнее функцию извлечения корня, насколько я понимаю она извлекает корень степени double?
zss
Модератор
Эксперт С++
 Аватар для zss
5955 / 5560 / 1788
Регистрация: 18.12.2011
Сообщений: 14,209
Завершенные тесты: 1
30.03.2014, 21:14     Unsigned long в с++ #4
Преобразуем число к double, вычисляем корень и обратно преобразуем к unsigned long.
lesya1
0 / 0 / 0
Регистрация: 14.03.2014
Сообщений: 46
30.03.2014, 21:17  [ТС]     Unsigned long в с++ #5
это не влияет на саму длину числа? просто по условию оно достаточно длинное.. или я чего то не понимаю
zss
Модератор
Эксперт С++
 Аватар для zss
5955 / 5560 / 1788
Регистрация: 18.12.2011
Сообщений: 14,209
Завершенные тесты: 1
30.03.2014, 21:41     Unsigned long в с++ #6
1. double все равно длиннее.
2. нет функции для вычисления корня в целых числах.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.03.2014, 22:07     Unsigned long в с++
Еще ссылки по теме:

Битовые поля. Обращение к unsigned long C++
C++ Быстрое вычисление наибольшего общего делителя для unsigned long long int
C++ Не понятный undefined reference to `unsigned long long f<unsigned long long, void>

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
lesya1
0 / 0 / 0
Регистрация: 14.03.2014
Сообщений: 46
30.03.2014, 22:07  [ТС]     Unsigned long в с++ #7
Спасибо большое
Yandex
Объявления
30.03.2014, 22:07     Unsigned long в с++
Ответ Создать тему
Опции темы

Текущее время: 05:45. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru