View Code of Problem 3700

#include<iostream>
#include<cmath>
#include<cstring>
#include<algorithm>
using namespace std;
int main()
{
	int t;
	while(scanf("%d",&t)!=EOF&&t!=0){
		 int num[7],temp[7];
		 int j=0;
		 for(int i=t;i>0;i/=2){
		 	num[j++]=i%2;//存储每位数字 
		 }
		 int p=0;//记录次数 
		 for(int i=0;i<j;i++){
		 	if(num[i]==0)
		 			p++;
		 	if(num[i]==1)
		 		break;
		 }
		int k=(int)pow(2,p); 
		printf("%d\n",k);
	}
	return 0;
}//main
	 

Double click to view unformatted code.


Back to problem 3700