c++ programming in making n!

Status
Not open for further replies.

sakumar79

Technomancer
1. Create a recursive function for calculating n!
2. In a "for" loop, keep adding the result of 1/i! for i varying from 1 to n
3. Output the result.

Which portion of this has you confused?

Arun
 

Windows

Journeyman
Code:
#include <iostream.h>
#include <conio.h>

void main()
{
int sum=0,i,n;
int nfact=1;
for(i=1;i<=n;i++)
{
nfact=nfact*i
sum = sum + 1/nfact
}
cout<<"Sum is : "<<sum;
getch();
}
 
OP
mayoorite

mayoorite

Night Fury
thanks for response well i have done it.
Code:
#include<iostream.h>
#include<conio.h>
main()
{

	clrscr();
	int l;
	float i,sum=1,j,k,x=0,n;
	cout<<"Enter last limit:";
	cin>>n;
	l=n;
	for(i=0;i<n;i++,l--)
	{
		for (k=1,sum=1; k<= l; k++ )
		sum =sum* k;

		x=x+(1/sum);
	}
	cout<<x+1;
	getch();
}
*i51.tinypic.com/30lji0z.jpg:cool:
 

d6bmg

BMG ftw!!
P.S. A good programming practice, nowadays we don't need clrscr();
So, avoid it where you can.
 

nims11

BIOS Terminator
^^ you don't need to clear the screen with the newer IDEs and compilers. Still you can do so by using system("cls") function. (in Windows). also as conio.h has been deprecated, clrscr() shouldnt be used.

also for the sake of your knowledge, algo for calculating consecutive factorials can be made very fast and efficient using dynamic programming. (in easy words, storing the results of a smaller problem and not calculating it again and again). give a thought to it. :)
 

dashing.sujay

Moving
Staff member
^^ you don't need to clear the screen with the newer IDEs and compilers. Still you can do so by using system("cls") function. (in Windows). also as conio.h has been deprecated, clrscr() shouldnt be used.

also for the sake of your knowledge, algo for calculating consecutive factorials can be made very fast and efficient using dynamic programming. (in easy words, storing the results of a smaller problem and not calculating it again and again). give a thought to it. :)

*So does that mean that newer IDEs or compilers elf implement clrscr functionality?
*this system("cls") function is for c++ na? its syntax pls ( i couldnt get it actually )
*Do you mean "discontinued" by "deprecated". Plus, yeah, i have read somewhere that conio.h has been 'deprecated' Why so and any additions resulting after its deprecation?
*Do u refer to DMA by dynamic programming ?

Thnx for answering my queries, and for sure i'll give them a serious thought :)
 

nims11

BIOS Terminator
*So does that mean that newer IDEs or compilers elf implement clrscr functionality?
*this system("cls") function is for c++ na? its syntax pls ( i couldnt get it actually )
*Do you mean "discontinued" by "deprecated". Plus, yeah, i have read somewhere that conio.h has been 'deprecated' Why so and any additions resulting after its deprecation?
*Do u refer to DMA by dynamic programming ?

Thnx for answering my queries, and for sure i'll give them a serious thought :)

*new compilers, atleast the standard g++ don't support conio.h which has clrscr().
* system() function executes any command the OS supports. eg. if you type cls in command line in windows, the screen will be cleared. to perform this in C++, use system("cls");. you can change the argument of system to do anything else like executing an external program.
* deprecated means it will be discontinued in near future. it has already been removed from g++ and exists only in old compilers. I think minGw gives a warning for conio.h. conio.h is basically for old DOS compilers and doesnt serve any purpose nowadays.
* no. :?
Dynamic programming - Wikipedia, the free encyclopedia
 

Garbage

God of Mistakes...
Why would you need to clear the screen before running your program?

For example, if I am working on command line, executed some other commands and then invoked the program, it will clear my screen; which normally not the intended behavior.

And if in some rare cases, you still need to clear the screen, as nims11 mentioned, you can use system() call.
 

dashing.sujay

Moving
Staff member
*new compilers, atleast the standard g++ don't support conio.h which has clrscr().
* system() function executes any command the OS supports. eg. if you type cls in command line in windows, the screen will be cleared. to perform this in C++, use system("cls");. you can change the argument of system to do anything else like executing an external program.
* deprecated means it will be discontinued in near future. it has already been removed from g++ and exists only in old compilers. I think minGw gives a warning for conio.h. conio.h is basically for old DOS compilers and doesnt serve any purpose nowadays.
* no. :?
Dynamic programming - Wikipedia, the free encyclopedia

Thnx, got all points.

Queries- *Since conio.h is no longer continued, so is getch() ? If yes, then what is the replacement for it? And what about other functions needing conio.h ?
*So, turboC comes in those "old DOS compilers" ? Should i not use it ? If yes, then should i use MS VC++ ?

Why would you need to clear the screen before running your program?

Just to look neat and clean :p
 
Status
Not open for further replies.
Top Bottom