手机营销网站建设百度一下你就知道下
PTA 7-7 计算n位(3≤n≤7)水仙花数 (10 分)
我就直接点出来啦:
这道题基本上是RuningTimeError,其实就是你用pow的时候是java自带的math库里面的pow,他是以double计算的,你算出来之后还得转换为int就可以看出来,以double计算的话运行时间就会长,你自己写一个pow就ok。
//package com.company;
import java.util.Scanner;
public class Main {public static void main(String[] args) {// write your code here// System.out.println(pow(10,2));Scanner sc=new Scanner(System.in);int n=sc.nextInt();int Start=pow(10,n-1);int end=10*Start;int sum,a;for(int i=Start;i<end;i++){sum=0;a=i;for (int j=0;j<n;j++){sum+=pow(a%10,n);a/=10;}if (sum==i){System.out.println(i);}}}public static int pow(int num,int index){int i;int temp=1;for(i=0;i<index;i++){temp=temp*num;}return temp;}}