1)Napisz program który pobiera z klawiatury dwie liczby, a następnie przekazuje je do funkcji która wypisze wszystkie pierwsze liczby

2)Napisz program który,bedzie posiadał funkcję,która z koleji będzie liczyła sumę wszystkich liczb całkowitych do podanej wartosci.Zastosować rekurencję

3)Napisz program który liczy silnię metodą rekurencji

4)Napisz program który będzie dla dwóch liczb znajdował NWD metodą Euklidesa

Zrobiłem 2,3 i 4 ale na pierwsze nie mam pojecia....

Ad2

#include <stdio.h>

#include <stdlib.h>

int wartosc(int a,int i,int s){

if (i <= a) {

s =s + i;

i=i +1;

wartosc(a,i,s); }

else

printf("suma wynosi %d \n",s);

return 0; }

int wartosc2(int a,int i,int s,int t){

t=-a;

if (i <= t) {

s =s + i;

i=i +1;

wartosc2(a,i,s,t); }

else

printf("suma wynosi %d \n",-s);

return 0;

}

int main(int argc, char *argv[])

{

int a,t;

printf("podaj liczbe calkowita do ktorej chcesz obliczyc sume\n");

scanf("%d",&a);

if (a>0){

wartosc(a,0,0); }

else {

wartosc2(a,0,0,t); }

system("PAUSE");

return 0;

}

Ad3

#include <stdio.h>

#include <stdlib.h>

int silnia(int n ,int i, int s) {

if (n > 0) {

s= s*i;

i = i+1;

n = n-1;

silnia(n,i,s); }

else

printf("silnia liczby wynosi %d\n",s);

}

int main(int argc, char *argv[])

{

int t,n;

printf("podaj liczbe naturalna\n");

scanf("%d",&n);

silnia(n,1,1);

system("PAUSE");

return 0;

}

Ad4

#include <stdio.h>

#include <stdlib.h>

int nwd( int a, int b, int c) {

if (b>0) {

c=(a%b);

a=b;

b=c;

nwd(a,b,c); }

else

printf("NWD dla tych dwoch liczb wynosi %d\n",a); }

int main(int argc, char *argv[])

{

int a,b,c;

printf("podaj dwie liczby dla ktorych chcesz obliczyc NWD\n");

scanf("%d",&a);

scanf("%d",&b);

nwd(a,b,c);

system("PAUSE");

return 0;

}