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

Используя рекурсию, перемножить 2 натуральных числа не используя операции умножения и иметь логарифмическую сложность - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Блочная сортировка http://www.cyberforum.ru/cpp-beginners/thread1108675.html
В данной программе происходит сортировка фамилий по алфавиту.Мне же требуется сортировка всего массива структур. То есть структуры должны стоять в том порядке, в котором должны стоять(по алфавиту) фамилии. Подскажите пожалуйста как это реализовать в коде. Заранее спасибо) #include <iostream> #include <conio.h> #include <string.h> using namespace std; struct student {
C++ Вычислить значение выражения #include<iostream.h> #include<conio.h> #include<math.h> //using namespace std; int main(void){ double x=1; double hx=0.5; double a=-0.5; double ha=0.2; double f; http://www.cyberforum.ru/cpp-beginners/thread1108673.html
Редактирование текста в консоли C++
Подскажите с помощью чего можно реализовать простой редактор текста прямо в консоли? Библиотека какая-то есть мб? Например, прочитал текст из файла, вывел в консоль. Нужна возможность стрелками ходить курсором по тексту и добавлять или удалять символы, выделять текст, вставлять новые строки.
Использовать классы, или обойтись линейными действиями? C++
Создайте имитацию входа в систему, которая будет запрашивать пароль и выдавать приглашение только в случае совпадения введенного пароля с заранее определенным в программе, а в случае ошибки выдавать сообщение об ошибке и просьбе повторить ввод. После 3 ошибок программа должна выдать сообщение о попытке несанкционированного доступа и завершить работу. (для простоты в виде кода используйте...
C++ Написать перегруженные функции http://www.cyberforum.ru/cpp-beginners/thread1108644.html
Написать перегруженные функции и основную программу, которая их вызывает. а) для сложения вещественных чисел; б) для сложения комплексных чисел.
C++ Линейная функция условие задачи состоит в том, что нужно ввести 3 числа с клавы и вывести окончательное значение функции, легче уже не придумаешь, НО у меня появилась ошибка. Когда я ввожу первое число, сразу программа выводит ответ..хотя по сути должна еще запрашивать второе и третье число..:(что не так? #include "stdafx.h" #include <iostream> #include <math.h> #include <conio.h> using namespace std; ... подробнее

Показать сообщение отдельно
ValeryS
Модератор
6550 / 5016 / 463
Регистрация: 14.02.2011
Сообщений: 16,729
05.03.2014, 00:03     Используя рекурсию, перемножить 2 натуральных числа не используя операции умножения и иметь логарифмическую сложность
Цитата Сообщение от zer0mail Посмотреть сообщение
Решения "в лоб" не дадут логарифмической сложности. Интересно, операции разрядного сдвига вправо/влево допустимы?
а если нет?
то можно использовать умножение на 2
вот в таком виде
C++
1
a+=a;
но вот деление не знаю как

а так можно поразрядно умножать (разряды двоичные)

примерно так
C++
1
2
3
4
5
6
7
8
9
10
int fncMul(int a, int b,)
{
 if(b==0)
  return 0;
 if(b&1)
  return a+fncMul(a+a,b/2); 
 else
  return fncMul(a+a,b/2);
 
}
Добавлено через 50 секунд
Цитата Сообщение от Олександr Посмотреть сообщение
НЕ КАТИТ(возникли ошибки сборки)
может покажешь какие?
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru