摩门经【难度:2级】:
答案1:
public class Kata
{
public static long Mormons ( long startingNumber, long reach, long target)
{
if ( target <= startingNumber )
return 0 ;
return 1 + Mormons ( startingNumber + startingNumber* reach, reach, target) ;
}
}
答案2:
public class Kata
{
public static long Mormons ( long startingNumber, long reach, long target)
{
if ( startingNumber >= target) {
return 0 ;
}
long missionEnd = startingNumber * reach + startingNumber;
return 1 + Mormons ( missionEnd, reach, target) ;
}
}
答案3:
public class Kata
{
public static long Mormons ( long mormons, long reach, long target)
{
long missions = 0 ;
if ( mormons>= target) return missions;
mormons+ = mormons* reach;
missions++ ;
if ( mormons< target) missions+ = Mormons ( mormons, reach, target) ;
return missions;
}
}
答案4:
public class Kata
{
public static long Mormons ( long startingNumber, long reach, long target)
{
return startingNumber >= target ? 0 : Mormons ( startingNumber + = startingNumber * reach, reach, target) + 1 ;
}
}
答案5:
public class Kata
{
public static long Mormons ( long startingNumber, long reach, long target)
{
int _count = 0 ;
while ( startingNumber < target)
{
_count++ ;
return _count + Mormons ( startingNumber + startingNumber * reach, reach, target) ;
}
return 0 ;
}
}
答案6:
public class Kata
{
public static long Mormons ( long startingNumber, long reach, long target)
{
return Mission ( startingNumber, reach, target) ;
}
public static long Mission ( long s, long r, long t) {
if ( s >= t) return 0 ;
return 1 + Mission ( s + ( r * s) , r, t) ;
}
}
答案7:
using System;
public class Kata
{
public static long Mormons ( long startingNumber, long reach, long target)
{
long m = 0 ;
long c = startingNumber;
while ( c < target)
{
c = c + ( c * reach) ;
m++ ;
}
return m;
}
}
答案8:
public class Kata
{
public static long Mormons ( long s, long r, long t)
{
long res = 0 ;
while ( s < t)
{
s = s * r + s;
res++ ;
}
return res;
}
}
答案9:
public class Kata
{
public static long Mormons ( long mormons, long reach, long target)
{
if ( mormons>= target) return 0 ;
return 1 + Mormons ( mormons* ( reach+ 1 ) , reach, target) ;
}
}
答案10:
public class Kata
{
public static long Mormons ( long startingNumber, long reach, long target)
{
if ( startingNumber >= target) return 0 ;
else return 1 + Mormons ( startingNumber * reach + startingNumber, reach, target) ;
}
}