Anonymous user
Mutual recursion: Difference between revisions
obj c w/o framework
(php) |
(obj c w/o framework) |
||
Line 151:
System.out.println(m(i));
}
}</lang>
=={{header|Objective-C}}==
Basically for Objective-C is valid what stated for C. In this code we show the use of two class method; this works since we need an <tt>interface</tt> block that is like declaration of functions in C code.
<lang objc>#import <objc/Object.h>
@interface Hofstadter : Object
+ (int)M: (int)n;
+ (int)F: (int)n;
@end
@implementation Hofstadter
+ (int)M: (int)n
{
if ( n == 0 ) return 0;
return n - [self F: [self M: (n-1)]];
}
+ (int)F: (int)n
{
if ( n == 0 ) return 1;
return n - [self M: [self F: (n-1)]];
}
@end
int main()
{
int i;
for(i=0; i < 20; i++) {
printf("%3d ", [Hofstadter F: i]);
}
printf("\n");
for(i=0; i < 20; i++) {
printf("%3d ", [Hofstadter M: i]);
}
printf("\n");
return 0;
}</lang>
|