Return sumNRecurse(n 1) +n



Дата23.10.2018
Размер50.1 Kb.
#93978
int sumNRecurse(int n)

{if( n < 0 ){

cout << "Error!\n";

return -1;}

if( n == 0 ){

return 0;}

else{

return sumNRecurse(n - 1) +n;



}}

int sumN(int n){

int sum = 0;

if( n < 0 ){

cout << "Error!\n";

return -1;}

for( int i = 0; i < n; ++i){

sum+= n - i;}

return sum;}

int nodRecurse(int a, int b){

if( b == 0 )

return a;

else

return nodRecurse(b, a % b);}



int nodIterative(int a, int b){

while( b != 0 ){

int c = a;

a = b;


b = c % a;}

return a;

int fibRecurse(int n){

if(n == 0 || n == 1)

return n;

return fibRecurse(n - 1) + fibRecurse(n - 2);}

int fibIterative(int n){

int va = 0, vb = 1, vc = 1;

if(n == 0 || n == 1)

return n;

for( int i = 2; i <= n; ++i ){

vc = va + vb;

va = vb;

vb = vc;}

return vc;}

int areaTwoRectangles(int a1, int b1, int a2, int b2){

return ((a1 * b1) + (a2 * b2));}

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

if( (a < 1) ||

(b < 1) ||

(c < 1)){

return -1;}

else{

return (a*a) + (b*b) + (c*c);}}



double myPow(double base, double exponent){

return pow(base, exponent);}

class tTemp {

int area,perimeter;

}

tTemp square(int a){



tTemp ret;

ret.area = a * a;

ret.perimeter = 4 * a;

return ret;}

int countI(char str[], char ch){

int counter = 0;

int i = 0;

while( str[i] != '\0' ){

if( str[i] == ch ){++counter;

}++i;}


return counter;}
int countr(char* str, char ch){
if(*str=='\0') return 0;

if(*str==ch) return (1 + countr(++str, ch) );

return countr(++str, ch);

}
int acker(int m, int n) {

if(m==0) return n+1;

if(n==0) return acker(m-1,1);

return acker(m-1, acker(m,n-1));

}



Ханойски кули - C/C++

void trantower(int ndsks, int fromndl, int tondl, int wrkndl) {

if (ndsks > 0) {

trantower(ndsks-1, fromndl, wrkndl, tondl);

printf("\n%2d >> %2d", fromndl, tondl);

trantower(ndsks-1, wrkndl, tondl, fromndl);






itoa() моделирана на C

void printd(int n) {

if (n<0) {

putchar('-');

n = -n;

}

if(n/10 != 0) printd(n/10);



putchar(n%10+'0');

}

Траверс на директория


static void DirFilTraverse(File fl) {

if ( fl.isDirectory() ) {

System.out.println(" Directory:"+fl.toString());

File[] files = fl.listFiles();

for (int i=0; i

DirFilTraverse(files[i]);

}

} еlse if ( fl.isFile() ) {



System.out.println(" File:"+fl.toString());

} else {


System.out.println(" No file, no directory");

}

}




PROLOG

1 зад.

връх(мусала).

връх(еверест).

височина(мусала, 2925).

височина(еверест, 8848).

осмохилядник(Х):- връх(Х), височина(Х, 8000).



2 зад.

кола(лада).

кола(опел).

кола(волво) , камион(волво).

кола(МПС) , камион(МПС) , автобус(МПС).

3 зад.

плувал(Иван).

обича_да_плува(петър).

плувец(Х):- обича_да_плува(Х).



4 зад.

старшиофицер(Х):- ]Х.(полковник(Х) , подполковник(Х) , майор(Х)).



5 зад.

композитор_опера(верди).

композитор_опера(росини).

от(верди, италия).

от(росини, италия).

цел:-композитор_опера(Х), от(Х, германия).



6 зад.

програмист(иванов).

проектант(петров).

знае(програмист, Java).

знае(програмист, Linux).
Mitko: 7zada4a

фпрограмист(иванов).

ппроектант(петров)

проектант(Х) :- програмист(Х), знае(Х, бд), знае(Х, мрежи), знае(Х, II), знае(Х, UML).


8. Is_Year_Old(Peter,25).

Has_Years_exp(Ivan,8).

Has_pay_leva(Asen,1200).

exp_years(5, less) :- pay_lv(1000,less).


9 . pisatel(vazov).

poet(penio_penev).

hubojnik(vladimir_dimitrov_hudojnika).

tvorec(X):- pishe(X), risuva(X).


10. student(john) .

student(peter).

student(mary).

lives_in(peter,varna).

lives_in(john,sofia).

lives_in(mary,plovdiv).


goal:- student(X) , lives_in(X,varna)
старшиофицер(Х):- ]Х.(полковник(Х) V подполковник(Х) V майор(Х))

LISP

1 зад. Suma na N chisla

(define (sum n)(

if (= n 0) 0

(+ n ( sum(- n 1)))))

2 зад. NOD

(define nod (a b)(

if( = b 0) a

(nod(b (% a b)))))

3 зад. Suma na ploshta na 2 pravougulnika

(define sum(a1 b1 a2 b2)(

cond( (> a1 0)

cond( (> b1 0)

cond( (> a2 0)

cond( (> b2 0)

( + (* a1 b1) (* a2 b2))))))))

4 зад. Perimeter na 3 kvadrata(sbor)

(define squareperemeter(a b c) (

cond ( (> a 0)

cond ( (> b 0)

cond ( (> c 0)

( + (* a a) ( * b b) (* c c) ))))))

7 зад. Perimeter ma pravoug.

( define peremeterrect (a b)(

cond ( ( > a 0)

cond ( ( > b 0)

( + (* 2 a) (* 2 b) )))))

6 зад. Broi povtoreniq

( define (count list val) (

if (null list) 0

( if ( (= (car list) val)) ( + 1 (count (cdr list) val) )

(( (count (cdr list) val) ))) ))


7.Duljina na spisuk

(define (len x)

(if(null x) 0

(+ 1 (len(cdr x)))

)

)




Сумата на 3 периметъра на квадрата (и валидация)

(define squareperemeter(a b c)

(

cond ( (> a 0)



cond ( (> b 0)

cond ( (> c 0)

( + (* 4 a) ( * 4 b) (* 4 c) )

)))


)

)

Степенуване на реални числа и реални степени.

(define (pow a b)

(if ( (= a 0) 0 (if (= b 0) 1 (* a pow(a,(- b 1))))

)

)

факториел



(define (factorial n)

(if (= n 1) 1 (* n (factorial (- n 1)))

)

)
Фибоначи



(define (fib n)

( if (or (= n 0)(= n 1)) n

( + fib(- n 1) fib(- n 2) )

)

)



Намиране елементите на масив

( define lis '(1 2 3 4 )

)
(define (list lis n)

;(if (= lis null) 0

(if (= (car lis) n) (+ 1 (list (cdr lis) n)) (list (cdr lis) n)

)

;)



)

equal to
( define ( abs x )

( if (< x 0) (- x) x )


Сподели с приятели:




©obuch.info 2024
отнасят до администрацията

    Начална страница