|
|
|
| #include<iostream.h>
#include<conio.h>
#include<math.h>
#include<stdlib.h>
#include<string.h>
void main ()
{
int i,n=1;
long x,y;
clrscr();
cin>>x;
for(i=32;i=0;i--)
{
for (i=32;i=0;i--)
{
y=(x|(1<<(i-1)))-(1<<(i-1));
if (y==1) break;
for (i;i=0;i--)
{
if (y==0) break;
n++ ;
}
cout<<n-1;
}
} | |
|
|
|
|
|
|
|
для: Эфиоп
(09.11.2008 в 16:39)
| | Как мимнимум на первый взгляд во всех вложенных циклах у тебя используется переменная из верхнего цикла. Это уже ошибка. | |
|
|
|
|
|
|
|
для: GeorgeIV
(10.11.2008 в 10:16)
| | пасиба) А может еще дальше пойдёшь, допишешь что у меня не получилось, а? Плиз. Оч надо( | |
|
|
|
|
|
|
|
для: Эфиоп
(11.11.2008 в 06:26)
| | тоесть для числа 111001101 Ваша программа, по идее, должна вывести 3?
Вы ищете максимальное количество идущих подряд единичек, начиная со старшего бита? | |
|
|
|