将变量z指定为变量x中存储的数字中因子2的数量

时间:2014-10-22 09:10:23

标签: java

我遇到了这个问题,我现在想知道该怎么做。 这是我的学期课程。 因此,我必须编写一个代码,根据存储在变量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)

有关如何做到这一点的任何线索?非常感谢你。

2 个答案:

答案 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 );

     }
}