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
0
Sample Output
f91(500) = 490
f91(91) = 91
Solution:
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
0
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; }
No comments:
Post a Comment
Write your comment - Share Knowledge and Experience