代码概述
程序功能:
根据用户选择输入想要在Fibonacci序列前多少项中进行判断,输入值记为n,然后输出判断结果:
- 若在,则输出在Fibonacci序列前n项中的具体位置;
- 若不在,则输出不在Fibonacci序列前n项。
程序亮点:
- 可由用户自由选择其想要在Fibonacci序列前多少项中进行判断;
- 若在,则可以定位数字在Fibonacci序列前n项中的具体位置;
- 额外增加变量i实现Fibonacci序列定位功能。
代码
Java代码
3. import java.util.Scanner;
4.
5. public class judge_num {
6. public static void main(String[] args) {
7. Scanner input = new Scanner(System.in);
8. System.out.println("请输入想要在Fibonacci序列前多少项中进行判断:");
9. int n = input.nextInt();
10. System.out.println("请输入需要判断是否是Fibonacci序列前"+n+"项中的数字:");
11. int x = input.nextInt();
12. judge(x,n);
13. }
14. public static void judge(int a,int n) {
15. int x1 = 1, x2 = 1, i=1,x3;
16. while ((x1 != a)&&(i<=n)){
17. i++;
18. x3 = x1 + x2;
19. x1 = x2;
20. x2 = x3;
21. }
22. if(a==x1&&i==1){
23. System.out.println(a+"在Fibonacci序列第"+i+"项或第"+(i+1)+"项。");
24. }else if(a==x1) {
25. System.out.println(a+"在Fibonacci序列第"+i+"项。");
26. }else{
27. System.out.println(a+"不在Fibonacci序列前"+n+"项。");
28. }
29. }
30. }
运行示例
结果分析:
根据Fibonacci序列定义(后一项等于前两项之和),分析程序运行结果,可知三个运行输出均正确,值得注意的是,进行数字定位时,1在Fibonacci序列第1项或第2项。