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 )
Сподели с приятели: |