打印任意位數的水仙花數

public class PrintTest2
{
	public static void main(String[] args)
	{
		//顯示n位的水仙花數,4就是顯示4位數的水仙花數
		//n>=3 小於3位的數不是水仙花數
		int n = 3;
		for (int i = (int)Math.pow(10, n-1); i < Math.pow(10, n); i++)
        {
	        int[] bits = new int[n];
	        int tmp = i;
	        int sum = 0;
	        for (int j = bits.length - 1; j > ~0; j--, tmp/=10)
            {
	            
	            sum += Math.pow((bits[j] = tmp % 10), n);
            }
	        if(i == sum)
	        {
	        	System.out.println(i);
	        }
        }
	}
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章