954,529 Members — Technology Publication meets Social Media
Username:
Password:
Lost login information?
Have something to say? Contribute New Article Reply to this Article

having problem while creating factorial

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...

k8lj
Newbie Poster
3 posts since Nov 2006
Reputation Points: 10
Solved Threads: 0
 

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.

pseudocode:

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

TylerSBreton
Junior Poster in Training
89 posts since Oct 2006
Reputation Points: 25
Solved Threads: 3
 

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.
http://mathworld.wolfram.com/Factorial.html
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...

Godfear1
Light Poster
47 posts since Oct 2006
Reputation Points: 12
Solved Threads: 3
 

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++)
{
Console.Write("1");

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

}
}

k8lj
Newbie Poster
3 posts since Nov 2006
Reputation Points: 10
Solved Threads: 0
 

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.

Godfear1
Light Poster
47 posts since Oct 2006
Reputation Points: 12
Solved Threads: 3
 

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

sneekula
Nearly a Posting Maven
2,427 posts since Oct 2006
Reputation Points: 961
Solved Threads: 212
 
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;


to:

double total = 1;
Yaseen Hejazi
Newbie Poster
3 posts since Nov 2006
Reputation Points: 10
Solved Threads: 0
 

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.

Godfear1
Light Poster
47 posts since Oct 2006
Reputation Points: 12
Solved Threads: 3
 

For really large number you need to consider using strings.

Perhaps even karbutstra's algo, for efficient multiplication.

iamthwee
Posting Expert
5,950 posts since Aug 2005
Reputation Points: 1,543
Solved Threads: 439
 

And if you can manage it I think there is a possibility to integrate java's big number class with vb.net or so I've read.

iamthwee
Posting Expert
5,950 posts since Aug 2005
Reputation Points: 1,543
Solved Threads: 439
 

This article has been dead for over three months

Post: Markdown Syntax: Formatting Help
You