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

Данное натуральное число N. Используя только элементарные арифметические операции (+, -, *, /) - C++

Восстановить пароль Регистрация
 
SystemsS
0 / 0 / 0
Регистрация: 24.01.2013
Сообщений: 9
06.02.2013, 12:34     Данное натуральное число N. Используя только элементарные арифметические операции (+, -, *, /) #1
Ув.пользователи, помогите решить задачку (С + + или Visual C + +), очень нужно!(
Данное натуральное число N. Используя только элементарные арифметические операции (+, -, *, /) определить количество единиц в двоичном представлении числа N.
Заранее благодарен!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.02.2013, 12:34     Данное натуральное число N. Используя только элементарные арифметические операции (+, -, *, /)
Посмотрите здесь:

С++ Ввести, используя списки два больших целых числа и выполнить арифметические операции(+,-,*,/) C++
Заменить данное натуральное число на число, которое получается из исходного записью его цифр в обратном порядке C++
C++ Цикл: Используя только операции умножения и деления вычислить: A^n (A в степени n) , минимизировав число операций
Используя только операции «*» и «/» вычислить: Аn, минимизировав число операций C++
Дано натуральное число N (N <= 100). Построить натуральное число, состоящее из N цифр и содержащее только цифры 1 и 2, которое делится на 2N C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Catstail
Модератор
 Аватар для Catstail
21490 / 10243 / 1668
Регистрация: 12.02.2012
Сообщений: 17,123
06.02.2013, 12:50     Данное натуральное число N. Используя только элементарные арифметические операции (+, -, *, /) #2
т.е. можно использовать только операторы присвоения? А циклы можно? If можно?
SystemsS
0 / 0 / 0
Регистрация: 24.01.2013
Сообщений: 9
06.02.2013, 12:54  [ТС]     Данное натуральное число N. Используя только элементарные арифметические операции (+, -, *, /) #3
Цитата Сообщение от Catstail Посмотреть сообщение
т.е. можно использовать только операторы присвоения? А циклы можно? If можно?
да, циклы использовать можно.
Благодарен что откликнулся)
Day
 Аватар для Day
1149 / 954 / 57
Регистрация: 29.10.2009
Сообщений: 1,384
06.02.2013, 13:03     Данное натуральное число N. Используя только элементарные арифметические операции (+, -, *, /) #4
C
1
 for(s=0 ; N; N /=2) s += (N - 2*(N/2);
diagon
Higher
 Аватар для diagon
1920 / 1186 / 49
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
06.02.2013, 13:07     Данное натуральное число N. Используя только элементарные арифметические операции (+, -, *, /) #5
C++
1
2
3
4
5
6
7
8
9
10
11
12
#include <iostream>
 
int main()
{
   int n = 7; //111
   int bits_count = 0;
   
   for (int x = n; x != 0; x /= 2)
      bits_count += x % 2;
   
   std::cout << bits_count << std::endl;
}
Но это далеко не самый быстрый вариант :)
avfed
14 / 12 / 2
Регистрация: 24.01.2013
Сообщений: 23
06.02.2013, 13:27     Данное натуральное число N. Используя только элементарные арифметические операции (+, -, *, /) #6
это если остаток от деления относится к элементарным операциям, иначе можно попробовать
C++
1
2
3
4
5
6
7
8
   int bits_count = 0;
   int tmp;
   
   for (int x = n; x != 0; x /= 2)
   {
       tmp = x/2;
       bits_count += x-2*tmp;
   }
хотя тут фактически тоже идет целочесленное деление
Yandex
Объявления
06.02.2013, 13:27     Данное натуральное число N. Используя только элементарные арифметические операции (+, -, *, /)
Ответ Создать тему
Опции темы

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