如何解决如何打印出斐波那契数列的加法?
我在互联网上看到了这段代码,决定自己尝试一下,但是我一直想知道,如何打印出“斐波那契”的附加内容?
package fibonacci;
import java.util.Scanner;
public class Fibonacci {
public static void main(String[] args) {
Scanner sc = new Scanner (System.in);
int k,n,a = 1,b = 1;
k = 0;
System.out.println("input number: ");
n = sc.nextInt();
System.out.print("0 1 1 ");
while (k <= n) {
k = a + b;
if (k >= n) break;
System.out.print(k + " " );
a = b;
b = k;
}
System.out.println("Sum of 0 + 1 = 1");
System.out.println("Sum of 1 +" + a + " = " + b);
}
}
如何生成这样的输出:
0 1 1 2 3 5 8
0 + 1 = 1
1 + 1 = 2
1 + 2 = 3
2 + 3 = 5
3 + 5 = 8
解决方法
使用初始计算(0 + 1 = 1)开始一个字符串,然后在循环的每次迭代中将当前计算即附加到字符串上。
System.out.print("0 1 1 ");
String addition = "0 + 1 = 1\n";
while (k <= n) {
k = a + b;
addition += a+ " + " +b + " = " + k + "\n";
if (k >= n) break;
System.out.print(k + " " );
a = b;
b = k;
}
System.out.println();
System.out.println(addition);
,
这应该回答您的问题:
<details open="">
<summary>Details</summary>
<ul>
<li><button><img src="https://via.placeholder.com/64" alt=""></button></li>
<li><button><img src="https://via.placeholder.com/64" alt=""></button></li>
<li><button><img src="https://via.placeholder.com/64" alt=""></button></li>
<li><button><img src="https://via.placeholder.com/64" alt=""></button></li>
<li><button><img src="https://via.placeholder.com/64" alt=""></button></li>
<li><button><img src="https://via.placeholder.com/64" alt=""></button></li>
<li><button><img src="https://via.placeholder.com/64" alt=""></button></li>
<li><button><img src="https://via.placeholder.com/64" alt=""></button></li>
<li><button><img src="https://via.placeholder.com/64" alt=""></button></li>
<li><button><img src="https://via.placeholder.com/64" alt=""></button></li>
<li><button><img src="https://via.placeholder.com/64" alt=""></button></li>
<li><button><img src="https://via.placeholder.com/64" alt=""></button></li>
<li><button><img src="https://via.placeholder.com/64" alt=""></button></li>
<li><button><img src="https://via.placeholder.com/64" alt=""></button></li>
<li><button><img src="https://via.placeholder.com/64" alt=""></button></li>
<li><button><img src="https://via.placeholder.com/64" alt=""></button></li>
<li><button><img src="https://via.placeholder.com/64" alt=""></button></li>
<li><button><img src="https://via.placeholder.com/64" alt=""></button></li>
<li><button><img src="https://via.placeholder.com/64" alt=""></button></li>
<li><button><img src="https://via.placeholder.com/64" alt=""></button></li>
<li><button><img src="https://via.placeholder.com/64" alt=""></button></li>
<li><button><img src="https://via.placeholder.com/64" alt=""></button></li>
<li><button><img src="https://via.placeholder.com/64" alt=""></button></li>
<li><button><img src="https://via.placeholder.com/64" alt=""></button></li>
<li><button><img src="https://via.placeholder.com/64" alt=""></button></li>
<li><button><img src="https://via.placeholder.com/64" alt=""></button></li>
<li><button><img src="https://via.placeholder.com/64" alt=""></button></li>
</ul>
</details>
,
要准确产生您的输出,我将编写以下代码:
package fibonacci;
import java.util.Scanner;
import java.util.List;
import java.util.ArrayList;
public class Fibonacci {
public static void main(String[] args) {
Scanner sc = new Scanner (System.in);
int k,n,a = 1,b = 1;
k = 0;
List<Integer> numbers = new ArrayList<Integer>();
System.out.println("input number: ");
n = sc.nextInt();
System.out.print("0 1 1 ");
numbers.add(1);
numbers.add(1);
while (k <= n) {
k = a + b;
if (k >= n) break;
System.out.print(k + " " );
a = b;
b = k;
numbers.add(k);
}
// used for loop since I don't know your Java version
System.out.println();
int oldSum = 0;
for (int i= 0; i < numbers.size(); ++i) {
int element = numbers.get(k);
System.out.println oldSum + " + " + element + " = " + (oldSum + element);
oldSum += element;
}
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。