Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.77/13: Рейтинг темы: голосов - 13, средняя оценка - 4.77
177 / 158 / 12
Регистрация: 03.11.2012
Сообщений: 1,113

Замена sqrt операцией сдвига

17.11.2014, 11:18. Показов 2944. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Как получить корень из числа без функции SQRT ?
Именно - операцией сдвига...
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
17.11.2014, 11:18
Ответы с готовыми решениями:

Найти порядок числа, операцией сдвига
Здравствуйте. Задание: найти порядок n для целого числа k \leq {2}^{n} при помощи операций сдвига. Например, ввели 256, прога выдала 8....

Вычислить значение выражения: sqrt(3+sqrt(6+.+sqrt(96+sqrt(99)
Пытаюсь решить данное выражение, но ответ выходит слишком большим, вот наработка: #include <iostream> #include <math.h> ...

Цикл: Для числа N вычислить значение следующего выражения: sqrt((1) + sqrt((2) + ... + sqrt(2 * N)))
Как это решить? sqrt((1)+sqrt((2)+..+sqrt(2n)))

8
17.11.2014, 11:22

Не по теме:

надо подумать

0
 Аватар для taras atavin
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
17.11.2014, 11:28
C++
1
for (y=1; x!=1; x>>=2, y<<=1);
что ли? Оригинально.
1
118 / 118 / 41
Регистрация: 14.12.2013
Сообщений: 352
17.11.2014, 11:37
как вариант, вот такой колхоз:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
    unsigned int a = 64;
    unsigned int     tmp1 = a;
    unsigned int     tmp2 = 1;
    while(tmp1)
    {
        tmp1 >>= 1;
        tmp2 <<= 1;
        std::cout << tmp2 << " ? " << tmp1 << std::endl;
        if(tmp2 == tmp1)
        {
            std::cout << tmp2;
            break;
        }
    }
Добавлено через 6 минут
C++
1
2
3
4
5
6
    unsigned int a = 64;
    unsigned int     tmp1 = a;
    unsigned int     tmp2 = 1;
    while(((tmp2 <<= 1) != (tmp1 >>= 1)) && tmp1);
 
    std::cout << tmp2;
только во втором варианте ответ будет неверным, если нет целого корня.

ай, блин, фигню какую-то написал.
1
 Аватар для taras atavin
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
17.11.2014, 11:44
Не только если нет целого корня, но и если под корнем не степень двойки. Корень из 4-х, 16-ти, 64-х, 256-ти посчитает, а из девяти нет.
0
118 / 118 / 41
Регистрация: 14.12.2013
Сообщений: 352
17.11.2014, 11:46
taras atavin,
Цитата Сообщение от mss307 Посмотреть сообщение
ай, блин, фигню какую-то написал.
согласен)
0
 Аватар для taras atavin
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
17.11.2014, 11:50
Так ведь у меня та же фигня получилась.
0
177 / 158 / 12
Регистрация: 03.11.2012
Сообщений: 1,113
17.11.2014, 12:11  [ТС]
Ok, норм.
0
 Аватар для HighPredator
6045 / 2160 / 753
Регистрация: 10.12.2010
Сообщений: 6,005
Записей в блоге: 3
17.11.2014, 13:08
Выдрал с SO:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
short isqrt(short num) {
    short res = 0;
    short bit = 1 << 14; // The second-to-top bit is set: 1L<<30 for long
    // "bit" starts at the highest power of four <= the argument.
    while (bit > num)
        bit >>= 2;
    while (bit != 0) {
        if (num >= res + bit) {
            num -= res + bit;
            res = (res >> 1) + bit;
        }
        else
            res >>= 1;
        bit >>= 2;
    }
    return res;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
17.11.2014, 13:08
Помогаю со студенческими работами здесь

Вычислить значение выражения sqrt (2 + sqrt (2 + sqrt (2 ... sqrt2))), (n-слагаемых)
Вычислить значение выражения sqrt (2 + sqrt (2 + sqrt (2 ... sqrt2))), (n-слагаемых),с помощью iostream, stdio.С помощью цикла for або while

Рекурсия: вычислить значение выражения sqrt(1+sqrt(2+...sqrt(n)))
Вычислить с помощью рекурсии и без нее - y(n) = sqrt(1+sqrt(2+...sqrt(n).. Как выполнить задание с помощью рекурсии? #include...

Дано натуральное число n. Вычислить sqrt(2+ sqrt(5 + sqrt(7...))
Дано натуральное число n.Вычислить sqrt(2+ sqrt(5 + sqrt(7...)). Под корнями располагается n первых простых чисел. Написал как находить...

Вычислить значение выражения: Sqrt(x+sqrt(x+.sqrt(x) на с++
Для данного натурального N и вещественного x(x&gt;0) вычислить значение выражения: Sqrt(x+sqrt(x+...sqrt(x))) на с++ или си

Рекурсия: вычисление sqrt(1 + sqrt(2 + ... + sqrt(n)))
Не подскажите как расписать рекурсивно формулу? Спасибо!


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
1С: Контроль уникальности заводского номера
Maks 23.03.2026
Алгоритм контроля уникальности заводского (или серийного) номера на примере документа выдачи шин для спецтехники с табличной частью. Данные берутся из регистра сведений, по которому настроено. . .
Хочу заставить корпорации вкладываться в здоровье сотрудников: делаю мат модель здравосохранения
anaschu 22.03.2026
e7EYtONaj8Y Z4Tv2zpXVVo https:/ / github. com/ shumilovas/ med2. git
1С: Программный отбор элементов справочника по группе
Maks 22.03.2026
Установка программного отбора элементов справочника "Номенклатура" из модуля формы документа. В качестве фильтра для отбора справочника служит группа номенклатуры. Отбор по наименованию группы. . .
Как я обхитрил таблицу Word
Alexander-7 21.03.2026
Когда мигает курсор у внешнего края таблицы, и нам надо перейти на новую строку, а при нажатии Enter создается новый ряд таблицы с ячейками, то мы вместо нервных нажатий Энтеров мы пишем любые буквы. . .
Krabik - рыболовный бот для WoW 3.3.5a
AmbA 21.03.2026
без регистрации и смс. Это не торговля, приложение не содержит рекламы. Выполняет свою непосредственную задачу - автоматизацию рыбалки в WoW - и ничего более. Однако если админы будут против -. . .
1С: Программный отбор элементов справочника по значению перечисления
Maks 21.03.2026
Установка программного отбора элементов справочника "Сотрудники" из модуля формы документа. В качестве фильтра для отбора служит значение перечислений. / / Событие "НачалоВыбора" реквизита на форме. . .
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru