これは私がこれまでに持っているものです:
namespace factorials
{
class Program
{
static void Main(string[] args)
{
int number;
do
{
Console.WriteLine("What non-negative integer do you want to factorial?");
while (!int.TryParse(Console.ReadLine(), out number))
Console.WriteLine("Please enter a whole number only");
calculate(ref number);
} while (number >= 0);
Console.WriteLine("Please enter a non-negative number");
}
static void calculate(ref int number)
{
int factorial;
int counter;
for (counter = number; counter <= number; counter++)
{
factorial = number * number;
Console.WriteLine("The factorial of {0} is {1}", number, factorial);
}
}
}
}
今のところ、階乗ではなく、数字の2乗を教えてくれます。階乗になるように、入力として回数を繰り返すにはどうすればよいですか?
また、プログラムを負でない整数のみに制限する必要があるかどうかはわかりませんが、その部分が必要な場合は、最初にループバックするのではなく、プログラムをすぐに終了するだけです。