Превращение C++

Возьмем какое-нибудь натуральное число N. Будем изменять его следующим образом: если число четное, то разделим его на 2, если нечетное, прибавим 1. После нескольких таких изменений мы всегда получаем число 1. Например, из числа 11 получается число 12, затем 6, 3, 4, 2 и, наконец, 1. Таким образом, для получения 1 из 11 нужно проделать 6 изменений.

Напишите программу, которая считывает натуральное число и выводит количество изменений данного числа до получения 1.

Входные данные

   Число N (1  ≤ N  ≤  109).

Выходные данные

   Количество превращений.

#include<stdio.h>
#include<stdlib.h>
#include<math.h>
int main()
{ __int64 a,b,i,x,y,n;
scanf("%I64d",&a);
if(a==1)printf("0\n");else{
for(i=1;;i++){
if(a%2==0) a=a/2; else a++;
if (a==1) break;
}
printf("%I64d\n",i);}
return 0;
}
Назад

Повышение продаж с помощью веб-форм Разложение числа на простые множители Как качественный контент способствует продвижению сайта Как выбрать хостинг Как писать SEO-тексты? Что такое SEO оптимизация сайта


Хостинг

Есть решение которого нет на сайте? Пиши admin@devexe.top