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

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

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

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

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

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

Используя только элементарные арифметические операции, определить сумму и произведение членов последовательности, которые кратны К - C++
Ув.пользователи, помогите решить задачку (С + + или Visual C + +). Данные целые положительные числа N, К, a1, ..., aN. Используя только...

Используя только операции «*» и «/» вычислить: Аn, минимизировав число операций - C++
Дано натуральное число А (ввод числа осуществляется в десятичной системе).. Используя только операции «*» и «/» вычислить: Аn, ...

Возвести число в 10 степень, используя только четыре операции умножения - C++
Подскажите что не так?При проверке на сайте пишет частичное решение. Задача: Напишите программу, которая возводит введенное число в...

Цикл: Используя только операции умножения и деления вычислить: A^n (A в степени n) , минимизировав число операций - C++
Дано натуральное число A ( Ввод числа производится в шеснадцатеричной системе ). Используя только операции умножения и деления вычислить:...

Заменить данное натуральное число на число, которое получается из исходного записью его цифр в обратном порядке. Например, дано число 156, нужно получ - C++
Вобщем,если не сложно,именно саму функцию помочь написать,ибо я просто не могу понять:) Добавлено через 22 минуты вот так...

Дано натуральное число N (N <= 100). Построить натуральное число, состоящее из N цифр и содержащее только цифры 1 и 2, которое делится на 2N - C++
Дано натуральное число N (N &lt;= 100). Построить натуральное число, состоящее из N цифр и содержащее только цифры 1 и 2, которое делится на...

5
Catstail
Модератор
22639 / 11008 / 1785
Регистрация: 12.02.2012
Сообщений: 18,170
06.02.2013, 12:50 #2
т.е. можно использовать только операторы присвоения? А циклы можно? If можно?
0
SystemsS
0 / 0 / 0
Регистрация: 24.01.2013
Сообщений: 9
06.02.2013, 12:54  [ТС] #3
Цитата Сообщение от Catstail Посмотреть сообщение
т.е. можно использовать только операторы присвоения? А циклы можно? If можно?
да, циклы использовать можно.
Благодарен что откликнулся)
0
Day
1158 / 963 / 57
Регистрация: 29.10.2009
Сообщений: 1,385
06.02.2013, 13:03 #4
C
1
 for(s=0 ; N; N /=2) s += (N - 2*(N/2);
1
diagon
Higher
1929 / 1195 / 49
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
06.02.2013, 13:07 #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;
}
Но это далеко не самый быстрый вариант :)
1
avfed
15 / 13 / 2
Регистрация: 24.01.2013
Сообщений: 23
06.02.2013, 13:27 #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;
   }
хотя тут фактически тоже идет целочесленное деление
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.02.2013, 13:27
Привет! Вот еще темы с ответами:

Заменить данное натуральное число на число, которое получается из исходного записью его цифр в обратном порядке - C++
1) Заменить данное натуральное число на число, которое получается из исходного записью его цифр в обратном порядке. Например, дано число...

Ввести, используя списки, два больших целых числа и выполнить арифметические операции(+,-,*,/) - C++
С++, С помощью списков на С++ надо ввести два больших целых числа(каждое более 1000 знаков ), и произвести арефметические операции(+,-,*,/)...

Напечатать данное натуральное число русскими словами - C++
Дано натуральное число n (n&lt;=1000). Напечатать это число русскими словами (тринадцать, сто пять, двести сорок один, тысяча и т.д) ...

Используя арифметические операции, определить и вывести сумму цифр трехзначного целого числа k (100<=k<=255) - C++
1)осуществить: - проверку корректности по типу вводимых значений; - проверку диапазонов вводимых значений. -Используя...


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

Или воспользуйтесь поиском по форуму:
6
Yandex
Объявления
06.02.2013, 13:27
Ответ Создать тему
Опции темы

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