62,621
社区成员
发帖
与我相关
我的任务
分享
public static void main(String[] args) {
// TODO Auto-generated method stub
get(40);
}
static void get(int n){
int a[]=new int[n];
a[0]=0;
a[1]=1;
System.out.print("\t"+a[0]+"\t"+a[1]);
int sum=1;
for(int i=2;i<n;i++){
a[i]=a[i-1]+a[i-2];
System.out.print("\t"+a[i]);
sum+=a[i];
if(i%10==0){
System.out.println();
}
if(a[i]>1000){
break;
}
}
System.out.println();
System.out.println(sum);
}
这是我想的方法,不知合不合题意。
public class Test1 {
public static void main(String[] args){
Test1 t = new Test1();
System.out.println(Test1.feibonaci(10));
}
public static int feibonaci(int n)
{
int sum=0,temp=0;
int N=n;
int a=0,b=1;
if(n<=2)
{
sum=a+b;
System.out.print(a+","+b+",");
return sum;
}
else
{
while(n-2!=0)//应该是减2
{
if(n==N)
{
temp=a+b;
sum+=temp+a+b;
System.out.print(a+",");
a=b;
b=temp;
System.out.print(a+","+b+",");
n--;
continue;
}
temp=a+b;
sum+=temp;
System.out.print(temp+",");
a=b;
b=temp;
n--;
}
}
return sum;
}
}
public class Test1 {
public static void main(String[] args){
Test1 t = new Test1();
System.out.println(Test1.feibonaci(10));
}
public static int feibonaci(int n)
{
int sum=0,temp=0;
int N=n;
int a=0,b=1;
if(n<=2)
{
sum=a+b;
System.out.print(a+","+b+",");
return sum;
}
else
{
while(n-1!=0)
{
if(n==N)
{
temp=a+b;
sum+=temp+a+b;
System.out.print(a+",");
a=b;
b=temp;
System.out.print(a+","+b+",");
n--;
continue;
}
temp=a+b;
sum+=temp;
System.out.print(temp+",");
a=b;
b=temp;
n--;
}
}
return sum;
}
}
写了个实现非波那契数列求和的非递归算法方法,思想和大家都差不多。祝楼主好运。