Solution of 10696 - f91

Problem Description
source:https://uva.onlinejudge.org/external/106/10696.html

McCarthy is a famous theorician of computer science. In his work, he defined a recursive function, called f91, that takes as input a positive integer N and returns a positive integer defined as follows:
       • If N ≤ 100, then f91(N) = f91(f91(N + 11)); 
       • If N ≥ 101, then f91(N) = N − 10. 

Write a program, that computes McCarthy’s f91. 

Input 

The input tests will consist of a series of positive integers, each integer is at most 1,000,000. There will be at most 250,000 test cases. Each number is on a line on its own. The end of the input is reached when the number ‘0’ is met. The number ‘0’ shall not be considered as part of the test set. 

Output 

The program shall output each result on a line by its own, following the format given in the sample output. 

Sample Input 

500 
91 


Sample Output 

f91(500) = 490 
f91(91) = 91

Solution: 
#include<stdio.h>
long long int f91(long long int n);
int main()
{
    long long int n,result;
    while(scanf("%lld",&n)==1)
    {
        if(n==0)
            break;
        result=f91(n);
        printf("f91(%lld) = %lld\n",n,result);
    }
    return 0;
}
long long int f91(long long int n)
{
    int value;
    if(n<=100)
        value=91;
    else if(n>100)
        value=n-10;
    return value;
}
image

No comments:

Post a Comment

Write your comment - Share Knowledge and Experience