思路: 因为你要的数超过了long的表示范围,所以要使用BigInteger。
再循环判断所得结果中2的个数即可。
代码如下:
import java.math.BigInteger;
public class x
{
public static void main(String[] args)
{
int count=0;
BigInteger bi=BigInteger.ONE;
for(int i=1;i<=1000;i++)
{
bi=bi.multiply(BigInteger.valueOf(i));
}
System.out.println(bi);
String s=bi.toString();//转换为字符串
for(int i=0;i<s.length();i++)
if(s.charAt(i)=='2')
count++;
System.out.println(count);
}
}
|
|