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;
}