我遇到了这个问题,我现在想知道该怎么做。 这是我的学期课程。 因此,我必须编写一个代码,根据存储在变量x中的数字,将z指定为2的因子数。
例如,如果x = 64,则z = 6,因为它根据x的数量存储因子2的数量。 (由于64 = 2 x 2 x 2 x 2 x 2 x 2.(有6个数值“2”) 另一个例子,如果x = 48,则z = 4,因为x = 2×2×2×2×3)
有关如何做到这一点的任何线索?非常感谢你。
答案 0 :(得分:1)
int i = 0;
while (x % 2 == 0) {
x = x / 2;
i++;
}
我记录你已经除以2的次数,并且当循环结束时将是x将分割的次数(例如,在你的例子中它是6然后是4)。循环将继续迭代,直到WHILE x可被2整除。“i”将是最后的数字,即你答案中2的数字,即你所谓的z。
答案 1 :(得分:0)
我知道了......
这是代码
import java.util.Scanner;
public class bull
{
public static void main ( String [] args )
{
Scanner input = new Scanner ( System.in );
System.out.print ( "Enter four digit numbers: " );//prompt the user to enter numbers
int x = input.nextInt();//read number entered by user
int counter = 0;
int z = counter;
while (x % 2 == 0)
{
x = x / 2;
counter++;
}
System.out.printf( "The factor of 2 of the x values are %d\n", counter );
}
}