Set probleme C (2)

3
585
Ti-a placut acest articol? Acorda-i o nota

1.Se citește n un număr natural.Să se afișeze numărul obținut prin inversarea cifrelor sale.
Salutie :

#include
#include
void main(void){
int n,nr=0;
printf("Introduceti numarul ");
scanf("%d" ,&n);
while(n!=0)
{
nr=nr*10+n%10;
n=n/10;
}
printf("Numarul obtinut prin inversarea cifrelor sale este %d", nr);
}

2.Se cere să se calculeze următoare sumă:
S=1+(1×2)+(1x2x3)+…+(1x2xn),precizându-se n.
Soluție :

#include 
#include 
{
int n,s=0,i,f=1;
printf("n=");scanf("%d",&n);
for(i=1;i<=n;i++)
{
f=f*i;
s=s+f;
}
printf("suma este:%d",s);
getch();
}

3.Să se calculeze suma primelor n numere naturale.
Soluție:

#include
#include
#include
void main (void)
{int n,s=0,i,fact=1;
printf("Introduceti numarul ");
scanf("%d",&n);
for (i=1;i<=n;i++)
s=s+i;
printf("Suma este %d",s);
}

4.Să se descompună în factori primi numarul n.
Soluție:

#include 

void main (void)
{
int n,i,div,nr;
div=2;
scanf("%d",&n);
while(n!=1)
{
if(n%div==0)
{
nr=0;
printf("\n");
printf("%d ",div);
while(n%div==0)
{
n/=div;
nr++;
}
printf("%d ",nr);
}
div++;
}
getchar();
getchar();
}

5.Să se calculeze cel mai mare divizor comun a două numere întregi folosind algoritmul lui Euclid.
Soluție :

#include 
#include 
void main()
{	
	int a,b;
	scanf("%d %d",&a,&b);
	while(a!=b)
	{
		if(a>b)
			a=a-b;
		else
			b=b-a;
	}
	printf("cmmdc= %d",a);
	getch ();
}

3 COMENTARII

LĂSAȚI UN MESAJ