i want to write a program that will output all of the factorials up to a maximum number provided....if anyone can guide me, thanks...

10 Years
Discussion Span
Last Post by iamthwee

youll need an outer loop which loops as high as the amount of factorials you want to compute, and an inner loop which will compute the factorial at the outer loops number.


input n
set x = 1
loop n times
set num = 1
set y = 0
loop from x to 1
multiply num by y and re-store it into num
end loop
print num
end loop

that should do the job....unless i overlooked something


Well, first of all you need to know what a factorial is. You haven't demonstrated that you know anything on how to solve this problem yet. If you need a description on what a factorial is here's a link.
You would have to have a loop inside of a loop in order to make this work. Here's a little bit of code to get you started on your merry way:

int factorial = 4;
            int result = 1;
            for (int i = 0; i < factorial; i++)
                result *= i+1;
            System.Console.WriteLine("result:" + result);

the factorial is saved to the int result. If you want multiple answers just put the whole thing in a for loop incrementing factorial till you get to the desired value.
Hope this is helpful. I don't want to solve the whole thing for you though...


thanks a lot for the help both of ya guys..the way i did using the code above as following and worked perfectly fine for the results required...

static void Main(string[] args)
int num;
int j;

Console.WriteLine("Enter the number: ");
num = int.Parse(Console.ReadLine());

for (int i = 1; i <=num; i++)

int total = 1;
for (j=1; j <= i; j++)
Console.Write("X" + j);
total = total*j;
Console.WriteLine(" = " + total);


Edited by pyTony: fixed formatting


That looks great. I'm glad I could help you. I just took a math assessment and I needed a little encouragment. lol. Don't hesitate to ask if you need help on anything else.


Nice program! I ran it and for factorial 13 I got 1932053504 when it should be 6227020800.

That because he used int type to total variable which can hold 2,147,483,647 as maximum positeve value.
You can change this line:

int total = 1;


double total = 1;

Thanks for that response. That's what I was going to say. This problem does require a little extra thinking for really large numbers. You need to have an understanding about basic programming.


For really large number you need to consider using strings.

Perhaps even karbutstra's algo, for efficient multiplication.

This article has been dead for over six months. Start a new discussion instead.
Have something to contribute to this discussion? Please be thoughtful, detailed and courteous, and be sure to adhere to our posting rules.