C/C++语言入门——2的幂整除

》》》名人说:古之立大事者,不惟有超世之才,亦必有坚忍不拔之志。——苏轼

一、问题呈现

1.问题描述

Problem Description

给一个正整数n,计算它最多能被2的多少次幂整除

2.输入输出

Input

输入一个数n

Output

输出一个数

3.测试样例

样例1

Sample Input

896

Sample Output

7
样例2

Sample Input

512

Sample Output

9

二、源码实现

#include<iostream>
#include<cmath>
using namespace std;

int main(){
	int n = 0;
	int sum = 0;
	int i = 0;
	int a = 0;
	cin>>n;
	while(n>sum)
    {
		sum=pow(2,i);//2的i次方
		if(n%sum==0){
			a = i;
		}
		i++;
	}
	cout<<a<<endl;
	return 0;
}

三、测试图

为了使整体内容简洁,此处只展示一组测试数据结果。

image

2022-03-21 12:41:41 星期一
作者:
月流苏(一个喜欢古诗词和编程的Coder)

posted @ 2022-03-21 12:42  月流苏  阅读(706)  评论(0)    收藏  举报