1 条题解

  • 0
    @ 2025-10-10 15:45:57

    C :

    #include<stdio.h>
    void main()
    {
    	int i,n,c=0;
    	scanf("%d",&n);
    	if(n%2==0){
    		while(n%2==0){
    			c+=1;
    			n/=2;
    			
    		}
    		printf("%d",c);
    	}else{
    		printf("%d",0);
    	}
    } 
    

    C++ :

    #include <iostream>
    using namespace std;
    int main(){
    	int n,i=0;
    	cin>>n;
    	while(n%2==0){
    		n=n/2;
    		i++;
    	}
    	cout<<i<<endl;
    }
    

    Pascal :

    var
      a,b,n,i:longint;
    begin
      read(a);
      for i:=1 to a do
      if a div 2>0 then begin inc(b); a:=a div 2; end;
      write(b);
    end.
    

    Java :

    import java.util.Scanner;
    
    
    public class Main {
    	public static void main(String[] args){
    		Scanner sc = new Scanner(System.in);
    		  int n=sc.nextInt();
    		  int c=0;
    		  for(int i=1;;i++){
    		  if(n%2==0){
    			  c++;
    			  n=n/2;
    			 
    		  }else{
    			  break;
    		  }
    		  
    		  }
    		  System.out.println(c);
    	}
    	}
    

    Python :

    n=int(input())
    s=0
    
    while n%2==0:
        n=n/2
        s+=1
    print(s)
    
    • 1

    【入门】请问一个正整数能够整除几次2?

    信息

    ID
    239
    时间
    1000ms
    内存
    256MiB
    难度
    10
    标签
    递交数
    6
    已通过
    3
    上传者