Ich bin gewaltsam durchgebrochen, also werde ich es aufzeichnen.
Da die Problemstellung lang ist, bitte hier
TorT.java
import java.util.Scanner;
public class TorT{
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
int N = sc.nextInt();
int count = 0;
for(int i = 0; i < N; i++){
int a = sc.nextInt();
while(true){
if(a % 2 == 0){
a = a / 2;
count = count + 1;
}else{
break;
}
}
}
System.out.println(count);
}
}
Wenn die Variable a gerade ist, drehen Sie die for-Anweisung, bis sie durch 2 teilbar ist, und zählen Sie, wie oft. Wenn es sich um eine ungerade Zahl handelt, brechen Sie sie und beenden Sie die for-Anweisung. Das Phänomen der "Multiplikation von 3" hat nichts mit "dividierbar durch 2" zu tun, daher denke ich, dass es am besten ist, es zu ignorieren.
$ java TorT
> 10
>2184
>2126
>1721
>1800
>1024
>2528
>3360
>1945
>1280
>1776
39
Ich konnte alle Testfälle mit "AC" beantworten.