黑马入学基础测试(三)求斐波那契数列第n项,n<30,斐波那契数列前10项为 1,1,2,3,5,8,13,21,34,55
- .获得用户的输入
- 计算
- 3打印就行了。
这里用到了java.util.Scanner 具体API
我就觉得不常用。解决问题就ok了。注意的是:他们按照流体的方式读取。而不是刻意反复读取
自己写的代码:
package com.itheima; import java.util.Scanner; public class Test3
{
/**
* 3.求斐波那契数列第n项,n<30,斐波那契数列前10项为 1,1,2,3,5,8,13,21,34,55
*
* @author zhulang
* @param args
*/
public static void main(String[] args)
{
/*
* 1.获得用户的输入
* 2.计算
* 3.打印就行了。
*/
int fibX = 1;
int fibY = 1;
int fibZ= 0;
int n = 0 ; //用来接收用户要求的项数
//接受用户的输入
n = getN();
if(n==1||n==2)
{
System.out.println("你要求斐波那契数列第"+n+"列的值为:->1");
}
else
{
// 计算N>2的项的斐波那契数列的值
for (int i = 1; i <=n-2; i++)
{
//用最简单的算法实现。
fibZ = fibX+fibY;
fibX = fibY;
fibY = fibZ;
}
System.out.println("你要求斐波那契数列第"+n+"列的值为->"+fibZ);
} } /**
* 接受用户正确输入用户 . 这里我查资料查了一会儿。java.util.Scanner我觉得不常用。要是不是因为黑马。我几乎不会
* @return 用户的正确输入
*/
private static int getN()
{
int n;
System.out.println("提示:请输入求斐波那契数列第n项的值。");
Scanner sc = new Scanner(System.in);
//让用户反复输入。直到输入成功为止
while (!sc.hasNextInt()|| (n=sc.nextInt())>=30)
{ System.out.println("输入错误:请输入求斐波那契数列小于第30项的正整数。");
sc = new Scanner(System.in);
}
return n; }
}
黑马入学基础测试(三)求斐波那契数列第n项,n<30,斐波那契数列前10项为 1,1,2,3,5,8,13,21,34,55的更多相关文章
- C# 求斐波那契数列的前10个数字 :1 1 2 3 5 8 13 21 34 55
//C# 求斐波那契数列的前10个数字 :1 1 2 3 5 8 13 21 34 55 using System; using System.Collections.Generic; using S ...
- e8_4输出菲波拉契数列的前10项
program fbnq;{输出菲波拉契数列的前10项} var a:..] of integer; i:integer; begin a[]:=; a[]:=; do a[i]:=a[i-]+a[i ...
- Python初学者笔记:打印出斐波那契数列的前10项
问题:斐波那契数列(意大利语: Successione di Fibonacci),又称黄金分割数列.费波那西数列.费波拿契数.费氏数列,指的是这样一个数列:0.1.1.2.3.5.8.13.21.- ...
- 用php实现斐波那契数列,如: 1, 1, 2, 3, 5, 8, 13, 21, 34。用数组求出第20个数的值。
<?php //用数组 function fib($n){ $array = array(); $array[0] = 1; $array[1] = 1; for($i=2;$i<$n;$ ...
- 用php实现斐波那契数列,如: 1, 1, 2, 3, 5, 8, 13, 21, 34。求出第20个数的值。
<?php function Fibonacci($n){ if ($n <= 0) { return 0; } elseif ($n == 1) { return 1; } else { ...
- 0 1 1 2 3 5 8 13 21 34 求第N个, 用js实现
function fibo(n) { var f = []; for (var c = 0; c < n; ++c) { console.log(f.join("")) f. ...
- Python基础(三)
本章内容: 深浅拷贝 函数(全局与局部变量) 内置函数 文件处理 三元运算 lambda 表达式 递归(斐波那契数列) 冒泡排序 深浅拷贝 一.数字和字符串 对于 数字 和 字符串 而言,赋值.浅拷贝 ...
- C 语言实例 -求分数数列1/2+2/3+3/5+5/8+...的前n项和
程序分析:抓住分子与分母的变化规律:分子a:1,2,3,5,8,13,21,34,55,89,144...分母b:2,3,5,8,13,21,34,55,89,144,233...分母b把数赋给了分子 ...
- 求等差数列前$n$项和$S_n$的最值
一.方法依据: 已知数列\(\{a_n\}\)是等差数列,首项为\(a_1\),公差为\(d\),前\(n\)项和为\(S_n\),则求\(S_n\)的最值常用方法有两种: (1).函数法:由于\(S ...
随机推荐
- Net中的反射使用入门
[转载] MSDN:ms-help://MS.VSCC.2003/MS.MSDNQTR.2003FEB.2052/cpguide/html/cpcondiscoveringtypeinformatio ...
- 数学之美 zt
数学是美丽的,哪里有数哪里就有美. 数学的定义是研究数量关系和空间形式的一门科学.但有句名言说:数学比科学大得多,因为它是科学的语言.数学不仅用来写科学,而且可用来写人生.所以说数学是一切学科的基础, ...
- Suse系统用户不能登录报错
Linux系统用户创建了user用户,使用putty登陆系统,用户为user,系统登陆报 错: Could not chdir to home directory /home/user: Permis ...
- 记录一次MVC3升级MVC4遇到的问题
前些天,项目组将项目从mvc3升级至mvc4,完了之后,发现突然涌现出一大堆问题.主要是在前端,Razor引擎升级导致的. Razor是从mvc3开始引入的,用过mvc2的就会知道,Razor用起来确 ...
- oc学习之路-----搞死指针之内存存储int类型
关于每个数据类型个字节在内存中的存储地址(以int为例) 先上图 如题,为什么说好的*p = &c是1啊,为什么是513呢,一开始,我也觉得挺惊讶的,后面听老师分析了一下才知道怎么回事,但是还 ...
- Spring各种注解标签作用详解
@Autowired和@Resource等注解是将Spring容器中的bean注入到属性,而@Component等注解是将bean放入Spring容器中管理. @Autowired spring2.1 ...
- 【转】PyDev for Eclipse 简介
转自:http://www.ibm.com/developerworks/cn/opensource/os-cn-ecl-pydev/index.html PyDev for Eclipse 是一 ...
- 【转】Android 混淆代码总结
http://blog.csdn.net/lovexjyong/article/details/24652085 为了防止自己的劳动成果被别人窃取,混淆代码能有效防止被反编译,下面来总结以下混淆代码的 ...
- Linux 内核开发—内核简单介绍
内核简单介绍 Linux 构成 Linux 为什么被划分为系统空间和内核空间 隔离核心程序和应用程序,实现对核心程序和数据的保护. 什么内核空间,用户空间 内核空间和用户空间是程序执行的两种不同的状态 ...
- C#写的笔记管理软件
在VS2008中做的 附件:http://ys-e.ys168.com/2.0/276581430/j4G4J63367LMMJUJjsgW/CSHARP_WinCtrl21t_2014%E5%B9% ...