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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
SystemsS
0 / 0 / 0
Регистрация: 24.01.2013
Сообщений: 9
#1

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

06.02.2013, 12:34. Просмотров 377. Ответов 5
Метки нет (Все метки)

Ув.пользователи, помогите решить задачку (С + + или 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++
C++ Поиск: Определить, сколько делителей и какие имеет данное натуральное число
C++ Используя только элементарные арифметические операции, определить сумму и произведение членов последовательности, которые кратны К
Составить программу, проверяющую, будет ли простым данное натуральное число C++
К четным элементам целочисленного массива прибавить данное число а, а из элементов с четными номерами вычесть данное число b. C++
C++ Используя арифметические операции, определить и вывести сумму цифр трехзначного целого числа k (100<=k<=255)
C++ Рекурсия: перевести данное натуральное число в р-ичную систему счисления (2 ≤ р ≤ 9)
C++ Возвести число в 10 степень, используя только четыре операции умножения
C++ Напечатать данное натуральное число русскими словами

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Catstail
Модератор
 Аватар для Catstail
21784 / 10508 / 1705
Регистрация: 12.02.2012
Сообщений: 17,510
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
1152 / 957 / 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
1921 / 1187 / 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. Используя только элементарные арифметические операции (+, -, *, /)
Ответ Создать тему
Опции темы

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