FAC递归(防虫 - 发现错误并进行修复)【难度:1级】:
答案1:
namespace Recursion
{
public class Fac
{
public int FacCalculation(int n)
{
return n < 0 ? 0 : n == 0 ? 1 : n * FacCalculation(n - 1);
}
}
}
答案2:
namespace Recursion {
using System;
public class Fac
{
public int FacCalculation(int n)
{
if (n < 0) return 0;
return n > 0 ? n * FacCalculation(n - 1) : 1;
}
}
}
答案3:
namespace Recursion
{
using System;
public class Fac
{
public int FacCalculation(int num)
{
if (num==0) return 1;
if (num<0) return 0;
return num==1?1:num * (FacCalculation(num-1));
}
}
}
答案4:
namespace Recursion {
using System;
public class Fac
{
public int FacCalculation(int startValue){
return FacRecursion(startValue);
}
protected int FacRecursion(int value){
if(value == 1 | value == 0) return 1;
if(value < 0)
{
return 0;
}
return value * FacRecursion(value-1);
}
}
}
答案5:
namespace Recursion
{
using System;
public class Fac
{
public int FacCalculation(int startValue)
{
return FacRecursion(startValue);
}
protected int FacRecursion(int value)
{
return value == 0 ? 1 : value < 0 ? 0 : value * FacRecursion(value-1);
}
}
}
答案6:
namespace Recursion {
using System;
public class Fac
{
public int FacCalculation(int startValue)
{
if (startValue < 0)
return 0;
if (startValue == 1 || startValue == 0)
return 1;
else
return FacRecursion(startValue);
}
protected int FacRecursion( int value)
{
return (value == 0)?1:value * FacRecursion(value - 1);
}
}
}
答案7:
namespace Recursion {
using System;
public class Fac
{
public int FacCalculation(int value){
return FacRecursion(value);
}
protected int FacRecursion(int value){
if(value < 0)
{
return 0;
}
if(value == 1 | value == 0){
return 1;
}
return value*FacRecursion(value-1);
}
}
}
答案8:
namespace Recursion {
using System;
public class Fac
{
public int FacCalculation(int startValue){
return FacRecursion(startValue);
}
protected int FacRecursion(int value){
if(value < 0)
{
return 0;
}
else if(value == 1 || value == 0)
{
return 1;
}
return value*FacRecursion(value-1);
}
}
}
答案9:
namespace Recursion {
using System;
public class Fac
{
public int FacCalculation(int startValue){
return FacRecursion(startValue);
}
protected int FacRecursion(int value){
if(value == 1)
return 1;
if(value == 0)
return 1;
if(value < 0)
return 0;
return value * FacRecursion(value-1);
}
}
}
答案10:
namespace Recursion {
using System;
public class Fac
{
public int FacCalculation(int startValue){
Console.WriteLine(startValue);
return FacRecursion(startValue);
}
protected int FacRecursion(int value){
if (value < 0)
return 0;
else if (value <= 1)
return 1;
else
return value * FacRecursion(value - 1);
}
}
}