2016-10-17 2 views
0

나는 특정 수의 조건이 주어지면 각 피보나치 수의 모듈러스를 출력하는 프로그램을 설계하려고합니다. 숫자가 짝수이거나 5로 나눌 수 있거나, 0이거나, 모두 3 일 때이 프로그램이 출력되기를 바랍니다. 그래서 본질적으로 루프가 실행될 때마다 매 3, 5, 15 번 째마다 특정 출력이 필요하므로 if 문을 여러 번 사용하려고했습니다. 당신이 옳은 방향으로 나를 인도 해 주시거나 어떤 종류의 코드/형식을 사용하는지 알려주십시오. 알아낼 수있을 것 같아요. 감사.for 루프의 특정 런타임에 대한 특정 출력을 얻는 방법은 무엇입니까?

sample output: for a 17 term input 
    1: 1 
    2: 1 
    3: 2 - even 
    4: 3 
    5: 5 - divisible by 5 
    6: 8 - even 
    7: 3 
    8: 1 
    9: 4 - even 
    10: 5 - divisible by 5 
    11: 9 
    12: 4 - even 
    13: 3 
    14: 7 
    15: 0 - even -divisible by 5 - ends in zero 
    16: 7 
    17: 7 


#include <iostream> 
using namespace std; 

int main() 
{ 

    int terms, n, next1, next2, first = 0, second = 1; 




    cout << "Welcome to the Fibonacci sequence checker!" << endl; 
    cout << "How many terms do you want to check?" << endl; 
    cin >> terms; 


    for (int n = 1; n < terms; n++) 
     { 
    if (n <= 1) 
     next2 = n; 

    else 
     { 
     next1 = first + second; 
     next2 = (first + second) % 10; 
     first = second; 
     second = next1; 
     } 

    if(next2 == 2 || next2 == 4 || next2 == 6 || next2 == 8) 
     { 
     cout << next2 << " - even"; 
     } 
    if(next2 == 5) 
     { 
     cout << next2 << " - divisible by 5"; 
      } 
    if(next2 == 0) 
     { 
     cout << " - even - divisible by 5 - ends in a zero"; 
     } 


     } 


    return 0; 
} 

샘플 출력 : 1 : 1 2 : 1 3 : 2 - 심지어 4 : 3 5 - 8 - 심지어 7 : 5 나누어 5 8 : 1 9 : 4 - 심지어 10 : 5 - 5 11로 나누어 - 심지어 13 4 : 3 14 : 7 15 : 9 12은 0 - 5로 의해서도 -divisible - 끝나는 제로 16 : 7 17 : 7

답변

0

우선 숫자가 2로 모듈을 확인하는지 확인하려면 마지막 숫자가 2 또는 4 또는 6 또는 8인지 확인할 필요가 없습니다. 모든 수표를 next1%2==0, next1%5==0next1%10==0 인 경우 next2next1의 10 인 모듈이므로 모두 cout<<next2cout<<next1으로 변경해야합니다. 또한 좋은 연습으로 Straustrup C++ 책을 읽어서 C++의 기초를 익히는 것이 좋습니다.

+0

설명에 대한 개정을 작성하고 샘플 출력을 추가했습니다. – PrivatePatron

관련 문제