2017-05-16 13 views
0

배열 [0, 1]로 시작하여 계산 된 피보나치 시퀀스를 생성하려고 시도하고 있으며 각 후속 숫자는 앞에 두 개의 숫자를 더하여 계산됩니다. // 예. 0, 1, [0 + 1 =] 1, [1 + 1 =] 2, [1 + 2 =] 3, [2 + 3 =] 5 등이다.피보나치 시퀀스 생성 및 그에 대한 서브 세트 생성

내가 구현하려고하는 두 가지 방법은 그러나 나는 아래 부분 집합 (GenerateSubset (params)) 생성에 심하게 붙어있다. 어떤 도움이라도 정말 감탄할 것입니다.

public IEnumerable<long> Generate() 
      { 
      int i, count, f1 = 0, f2 = 1, f3 = 0; 
     Console.Write("Enter the Limit : "); 
     count = int.Parse(Console.ReadLine()); 
     Console.WriteLine(f1); 
     Console.WriteLine(f2); 
     for (i = 0; i <= count; i++) 
     { 
      f3 = f1 + f2; 
      Console.WriteLine(f3); 
      f1 = f2; 
      f2 = f3; 
     } 
     Console.ReadLine(); 
    } 



public Task<IEnumerable<long>> GenerateSubset(int fromIndex, int toIndex) 
    { 
     throw new NotImplementedException(); 
    } 

다음은 이러한 메소드를 구현하여 전달하려는 테스트 케이스가 포함 된 파일입니다.

Test cases file: 

는 [drive.google.com/open?id=0B_6Eur5JYu9_MDNfelVKOWswRGs]

+0

무엇이'GenerateSubset'입니까? 왜 '작업 '을 반환합니까? – zerkms

+0

_ "모든 도움"_은 너무 광범위합니다. 처음부터 완전히 작성하는 방법을 요구할 것입니다. 지금까지 시도한 것을 분명히 보여주는 좋은 [mcve]와 함께 문제가 무엇인지 구체적이고 정확한 설명과 함께 제공하십시오. –

+0

@zerkms : GenerateSubset은 제공된 인덱스 값 내에서 하위 집합을 생성하는 메서드로, Generate() 메서드 내부에 수동으로 배치하는 대신 피보나치 시퀀스를 생성하는 데 사용할 수 있습니다. 이 작업 [https://drive.google.com/open?id=0B_6Eur5JYu9_Y3BhZFdSbkpiWVE]을 해결하고 위에 첨부 된 파일 에서처럼 테스트 사례를 전달하려고합니다. – Rajesh

답변

0

난 당신이 피보나치 시리즈의 부분 집합을 생성하는 로직을하려는 생각합니다. 여기에 자바에서 작성하는 논리입니다. 당신은 그것을 C#으로 변환 할 수 있습니다. 서브 세트를 생성

int fibonacci(int x) { 
if (x == 0) 
    return 0; 

if (x == 1) 
    return 1; 

return fibonacci(x-1)+fibonacci(x-2); 
} 

및 제 함수이다 :

List<Integer> GenerateSubset(int fromIndex, int toIndex) { 
    int first=fibonacci(fromIndex); 
    int second= fibonacci(fromIndex+1); 
    int third; 
    List<Integer> result= new ArrayList<Integer>(); 
    result.add(first); 
    result.add(second); 
    for(int i= fromIndex+2;i<=toIndex-1;i++) { 
     third= first+second; 
     result.add(third); 
     first=second; 
     second=third; 
    } 

    return result; 

    } 

그것은 피보나치 시리즈의 일부를 포함하는리스트를 반환한다.

+0

코드를 제공해 주셔서 감사합니다. 그러나 코드 및 테스트 사례를 찾으려면 언급 된 링크를 따라갈 수 있습니다. 링크는 다음과 같습니다. https://drive.google.com/open?id=0B_6Eur5JYu9_MDNfelVKOWswRGs 및 기타 링크 : https://drive.google.com/open?id=0B_6Eur5JYu9_Y3BhZFdSbkpiWVE 이제 테스트 케이스를 암호. 귀하의 도움은 높이 평가됩니다. 감사! – Rajesh

+0

@Rajesh이 프로젝트에서 여러분의 역할은 무엇입니까? 코드를 작성하는 누군가에게 코드 작성 방법을 가르쳐주지는 않습니다. – zerkms