我在poj上面做题题号1001老是出现runtime error,测试题目给的用例却是对的
第一次做oj的题目
代码
import java.util.Scanner;
public class work1001 {
public static String R;
public static int n;
public static int[] result;
public static int[] jieguo;
public static int point_index;
public static int[] chengshu;
public static void main(String[] arg){
result=new int[150];
jieguo=new int[150];
chengshu=new int[5];
Scanner input =new Scanner(System.in);
while (true){
R=input.next();
n=input.nextInt();
System.out.println("");
point_index=0;
for (int i=0;i<150;i++){
result[i]=0;
jieguo[i]=0;
}
for (int i=R.length()-1,j=0;i>=0;i--){
if(R.charAt(i)=='.'){
point_index=R.length()-1-i;
}else{
chengshu[j]=R.charAt(i)-'0';
result[j]=chengshu[j];
j++;
}
}
for (int i=2;i<=n;i++){
for (int j=0;j<5;j++){
if (chengshu[j]==0)
continue;
else
for (int k=0;k<140;k++){
jieguo[j+k]+=chengshu[j]*result[k];
}
}
for (int k=0;k<149;k++){
jieguo[k+1]+=jieguo[k]/10;
jieguo[k]=jieguo[k]%10;
}
for (int k=0;k<150;k++)
{
result[k]=jieguo[k];
jieguo[k]=0;
}
}
point_index=point_index*n;
int first=0;
for (int i=149;i>=0;i--){
if(result[i]==0){
continue;
}else
{
first=i;
break;
}
}
while (true){
if (first<point_index)
break;
System.out.print(result[first]);
first--;
}
if (first>0){
int last=point_index;
System.out.print('.');
for (int i=0;i<point_index;i++){
if(result[i]==0){
continue;
}else
{
last=i;
break;
}
}
while (true){
--point_index;
if (point_index<last)
break;
System.out.print(result[point_index]);
}
}
}
}
}