我希望您能幫助我更正此方法的輸出。遞歸版本返回我需要的,但non_recursive版本不返回相同的結果。這裏是我的代碼:返回1 + 1/2 + 1/3 + ... + 1/n的系列
public static double sum_nr(int n){
int result = 1;
for(int i=n-1; i>0; i--){
result += 1/i;
}
return result;
}
public static void main(String[] args){
Scanner scan = new Scanner(System.in);
System.out.println("Is the string a palindrome or not? ");
String test = scan.nextLine();
System.out.println("Answer: " + isPalindrome_r(test));
System.out.println("Answer: " + isPalindrome_nr(test));
System.out.println("What is the sum of n number: ");
int test2 = scan.nextInt();
System.out.println("Answer: " + sum_r(test2));
System.out.println("Answer: " + sum_nr(test2));
}
遞歸版本時n = 10
是1.6179775280898876
非遞歸版本n = 10
是2.0
我想這兩個既相匹配。你可以幫我嗎?
怎麼樣的遞歸版本 - 頭腦與我們分享它還是應該猜到的? – alfasin 2014-08-28 03:51:10
請將'sum_r()'方法定義添加到您的問題中。 – dimo414 2014-08-28 03:53:05