1 1 2 3 5 8 13 21.....(fabonacci数列)用递归做打印出前100项所有的值 int n=0 n=1 f(n-1)+f(n-2)
要求:1,打印出的每项之间要有一个空格 2,每行只能有80个字符,超过要换行打印。
要求:1,打印出的每项之间要有一个空格 2,每行只能有80个字符,超过要换行打印。
解决方案 »
- 大家帮我看一下这个简单的程序
- 求助!一个java编程
- 怎样为这样一个类里面的这个方法写JUnit Test Case? 求Test Case的代码.
- 100分求:函数的栈内存分配和java有内联函数麽?
- 怎样和数据库相连
- 一个页面表单,其中包括一组重复的表单内容。组中每一记录都包括两个text类型的表单域,请问在这种情况下如何写formbean?
- 关于java中的几个关键概念
- java中如何与远程MYSQL服务器连接???谢谢
- 请教代码出错,偶是菜鸟,感谢赐教
- 关于学习方法的讨论,诚邀各位好手入内,参与即有分:
- 内部类的私有数据成员怎么可以被访问??
- java.awt.Graphics 能不能把画笔设置成半透明
public static long fabonacci(long n) {
if (n == 1 || n == 2) return 1;
else return fabonacci(n - 1) + fabonacci(n - 2);
}
for (int i = 1; i <= 100; i++) {
System.out.print(fabonacci(i) + " ");
}
StringBuffer sb = new StringBuffer();
long f0 = 1;
long f1 = 1;
sb.append(String.valueOf(f0)).append(" ").append(String.valueOf(f1));
long f2 = 0;
for (int i = 2; i < 100; i++) {
f2 = f1 + f0;
sb.append(String.valueOf(f2)).append(" ");
if (sb.toString().length() >= 80) {
System.out.println(sb.toString());
sb = new StringBuffer();
}
f0 = f1;
f1 = f2;
}
System.out.println(sb.toString());
楼主试试这段代码吧,到100已经超过long值的范围啦,需要用大数对象处理一下。
public static String fabonacci(long n) {
if (n == 1) return 1+"";
else return fabonacci(n - 2)+" "+fabonacci(n - 1);
}public static void main(String[] args){
String str=null;
str=fabonacci(100);
char chr[]=new char(str);
int cnt=chr.length;
for(int i=0;i<cnt;i++)
{
System.out.println(chr[i]);
if((i+1)%80==0)
System.out.println(); //换行
}
}}
{ static int f(int i)
{
if(i==1||i==2)
return 1;
else
return f(i-1)+f(i-2);
} public static void main(String[] args)
{
int i;
int cnt=0;
for(i=1;i<=100;i++)
{
if(cnt==80)
{
cnt=0;
System.out.print("\n");
}
System.out.print(f(i)+" ");
cnt+=2;
}
}}
{ static int f(int i)
{
if(i==1||i==2)
return 1;
else
return f(i-1)+f(i-2);
} public static void main(String[] args)
{
int i;
int j;
int cnt=0;
for(i=1;i<=100;i++)
{
if(cnt==80)
{
cnt=0;
System.out.print("\n"); // 换 行
}
System.out.print(f(i)+" ");
cnt+=2;
}
}}
if (n == 1 || n == 2) return 1;
else return fabonacci(n - 1) + fabonacci(n - 2);
}
for (int i = 1; i <= 100; i++) {
System.out.print(fabonacci(i) + " ");
}
public class Test{
public static int fabonacci(int n){
if(n==1||n==2) return 1;
else return fabonacci(n-1)+fabonacci(n-2);
}
public static void main(String[args]){
int i=1;
for(i;i<=100;i++){
System.out.print(fabonacci(i)+" ");
if(i%80==0) System.out.println();
}
}
}
{
static long fabonacci(long n)
{
if (n==1||n==2)
{
return 1;
}
else
return fabonacci(n-1)+fabonacci(n-2);
}
public static void main(String [] args)
{
long l;
int r=0;//最新的一个结果值的长度
int n;
String str;
StringBuffer sb = new StringBuffer();
sb.append(String.valueOf(1));
for (n=2;n<=100 ;n++ )
{
l = fabonacci(n); str = String.valueOf(l);
r = str.length();
if (sb.length()+1<80)
{
sb.append(" ");
if (sb.length()+r<=80)
{
sb.append(str);
}
else
{
System.out.println(sb);
sb.delete(0,sb.length());
sb.append(str);
}
}
else
{
System.out.println(sb);
sb.delete(0,sb.length());
sb.append(" "+str);
System.out.println("length= "+sb.length());
}
}
}
}
public static int fabonacci(int n){
if(n==1||n==2) return 1;
else return fabonacci(n-1)+fabonacci(n-2);
}
public static void main(String[]args){
for(int i=1;i<=100;i++){
System.out.print(fabonacci(i)+" ");
StringBuffer sb=new StringBuffer("");
sb.append(fabonacci(i)).append(" ");
if(sb.length()==80) {System.out.println();}
}
}
}