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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.90
[CN]Defender
1 / 1 / 0
Регистрация: 25.09.2009
Сообщений: 56
#1

Написать программу на языке С, которая рекурсивно вычисляет количество единиц в двоичном коде заданного пользователем натурального числа - C++

03.10.2009, 16:35. Просмотров 1285. Ответов 3
Метки нет (Все метки)

помогите плиз

Добавлено через 12 минут
Операция n := n & (n - 1) уничтожает крайнюю справа единицу в бинарном представлении числа n. Следует выполнять эту операцию пока n не станет равным 0, подсчитывая число раз ее выполнения. Найденное количество операций будет равняться количеству единиц в двоичном представлении числа n. Рекурсивный вариант функции на С++, например может быть таким:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include<iostream>
unsigned long I(unsigned long);
int main()
{
unsigned long n;
std::cout<<"Vvedite n=";
std::cin>>n;
std::cout<<"\n="<<I(n)<<"\n";
return 1;
}
//*********************************
unsigned long I(unsigned long n)
{if(n==0) return 0;
else return(1+I(n&(n-1)));}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.10.2009, 16:35
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Написать программу на языке С, которая рекурсивно вычисляет количество единиц в двоичном коде заданного пользователем натурального числа (C++):

Рекурсия. Составьте программу, которая для заданного натурального числа n вычисляет значение выражения - C++
Составьте программу, которая для заданного натурального числа n вычисляет значение выражения: 1/1+1/2+1/3+1/4+1/...n-1+1\n

Написать программу, которая вычисляет количество цифр во введенном пользователем числе - C++
Ваще не как... надо самы простой способ

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

Написать программу которая выводить все четные числа из заданного пользователем диапазона. - C++
Помогите, вообще в рекурсии не разбираюсь( Программы должны быть обязательно написаны рекурсией( Задание 1 Написать программу...

Напишите функцию, которая вычисляет факториал для заданного натурального числа - C++
аголовок функции должен быть следующим: int factorial(int n); Напишите программу, которая получает от пользователя два натуральных числа a...

Функции. побитовые операции. Написать функцию, которая для заданного целого числа Х вычисляет количество единичных битов в этом числе - C++
Здравствуйте, уважаемые мастера программирования. Нуждаюсь в вашей помощи. Написать функцию, которая для заданного целого числа Х...

3
Monte-Cristo
2793 / 1379 / 30
Регистрация: 07.03.2009
Сообщений: 4,446
03.10.2009, 17:12 #2
а на C так:
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include<stdio.h>
 
unsigned long I(unsigned long);
int main()
{
unsigned long n;
printf("Vvedite n=");
scanf("%u", &n);
printf("\n=%u\n",I(n));
return 1;
}
//*********************************
unsigned long I(unsigned long n)
{if(n==0) return 0;
else return(1+I(n&(n-1)));}
1
[CN]Defender
1 / 1 / 0
Регистрация: 25.09.2009
Сообщений: 56
03.10.2009, 17:18  [ТС] #3
большое спасибо!!!

Добавлено через 3 минуты
Monte-Cristo, а это уже вся прога?
0
Monte-Cristo
2793 / 1379 / 30
Регистрация: 07.03.2009
Сообщений: 4,446
03.10.2009, 17:42 #4
[CN]Defender, ну да. А что?

p.s: в данном исходники лишь заменены приницп вывода на экран: вместо cin, cout (С++) используются функции scanf(), printf() (С).

p.p.s: у тебя не компилируется?
0
03.10.2009, 17:42
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.10.2009, 17:42
Привет! Вот еще темы с ответами:

Написать программу, которая для натурального n вычисляет сумму степеней - C++
1. Написать программу, которая для натурального n вычисляет сумму степеней: (1/1) в степени n + (1/2) в степени n + ...+(1/n) в степени n ...

Написать программу на языке С + + которая вычисляет условия: - C++
Написать программу на языке С + + которая вычисляет условия: Вот первое условие: http://www.cyberforum.ru/attachments/281524d1371057949...

Написать программу которая вычисляет объем параллелепипеда на языке C++ - C++
1) Написать программу вычисления объема параллелепипеда. Ниже представлен рекомендуемый вид экрана во время работы программы (данные,...

Определить, каких цифр больше в двоичном представлении натурального числа N-нулей и единиц - C++
Определить, каких цифр больше в двоичном представлении натурального числа N-нулей и единиц. Циклический алгоритм. Код не надо, только...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

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