美文网首页
周末作业(一)

周末作业(一)

作者: 小焕哥 | 来源:发表于2017-10-14 11:34 被阅读0次

    @author 小焕哥


    第一题

    1. 1斐波那契数列指的是这样一个数列 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, ...数列第一项和第二项是1, 从第三项开始,每一项都等于前两项之和。本题的详细要求如下:
      1. 实现计算斐波那契数列第n项值的方法。定义静态方法f(int n), 参数n是数列的项数,返回值是第n项的值,例如: f(1) 的值是1, f(6)的值是8。
      1. 验证当n比较大时候,相邻两项的比值接近黄金分割比值0.618,验算f(45)/f(46)的值大约是0.618。

    代码

    package mypackage;
    import java.util.Scanner;
    public class WeekExercise {
    
    public static void main(String[] args) {
      Scanner in = new Scanner(System.in);
      int n=in.nextInt();
      System.out.println(num(n));
      int b=in.nextInt();
      System.out.println(num2(b));
    }
    public static int num(int a){
      int[] ssr=new int[a];
      for(int i=2;i<a;i++) {
          ssr[0]=1;
          ssr[1]=1;
          ssr[i]=ssr[i-1]+ssr[i-2];
      }
      return ssr[a-1];
    }
    public static double num2(int c) {
      int j=num(c);
      int k=num(c+1);
      double f=(double)(j)/k;
      return f;
    }
    
    

    第二题

    1. 实现删除数组中某一元素的算法
      1. 当给定一个数组和该数组中的某一元素的位置时,利用算法将该数组中的该位置的元素删除。如: 有一个数组,其元素内容为 {2,3,4,5,6},当删除位置为1的元素后,该数组的元素内容更改为{2,4,5,6}。
      1. 上述描述中的算法,要求通过一个方法来实现,该方法的声明如下所示
    int[] remove(int[] ary, int index){}
      ```
    
    ##代码
    ```java
    package mypackage;
    
    import java.util.Arrays;
    
    public class Del {
    
    public static void main(String[] args) {
      int[] a= {2,3,4,5,6};
      int[] b=remove(a,2);
      for(int i=0;i<b.length;i++) {
          System.out.print(b[i]);
      }
    }
    public static int[] remove(int[] ary,int index) {
      for(int q=index-1;q<ary.length-1;q++) {
          int t=ary[q];
          ary[q]=ary[q+1];
          ary[q+1]=t;
      }
      ary=Arrays.copyOf(ary, ary.length-1);
      return ary;
    }
    
    }
    
    

    相关文章

      网友评论

          本文标题:周末作业(一)

          本文链接:https://www.haomeiwen.com/subject/vryxuxtx.html