#include using namespace std; int deleteDigit (int number, int k) { int pow10k = 1; for (int i = 0; i < k; i++) { pow10k *= 10; } return (number / pow10k) * (pow10k/10) + number % (pow10k/10); } int deleteDigitRec (int number, int k) { if (k == 1) return number / 10; return deleteDigitRec (number / 10, k-1) * 10 + number % 10; } int sumDivs (int x) { int sum = 0; for (int i = 1; i < x; i++) if (x % i == 0) sum += i; return sum; } bool isPerfect (int x) { return x == sumDivs (x); } void printAllPerfecrBetween (int start, int end) { for (int i = start; i < end; i++) if (isPerfect (i)) cout << i << endl; } int countEqualPairs (int a[], int b[], int na, int nb) { int count = 0; for (int i = 0; i < na; i++) { for (int j = 0; j < nb; j++) if (a[i] == b[j]) count++; } return count; } bool hasDigit (int dig, int x) { if (x < 10) return x == dig; if (x%10 == dig) return true; return hasDigit (dig,x/10); } bool member (int x, int a[], int n) { if (n==0) return false; if (x == a[n-1]) return true; return member (x,a,n-1); } bool subset (int a[], int na, int b[], int nb) { for (int i = 0; i < na; i++) { //a[i] if (!member (a[i],b,nb)) return false; } return true; } bool areSimilar (int a[], int na, int b[], int nb) { return subset (a,na,b,nb) && subset (b,nb,a,na); } //0 1 1 2 3 5 8 13 int fib_iter (int n) { int a = 0, b = 1, save; while (n>0) { save = a; a = b; b = save + b; n--; } return a; } int fib (int n) { if (n <= 1) return n; return fib (n-1) + fib (n-2); } bool isFib_iter (int x) { int a = 0, b = 1, save; while (a < x) { save = a; a = b; b = save + b; } return a==x; } bool isFib (int x) { //Дали съществува n, т.че. fib(n) == x //x=5 //0 1 1 2 3 5 8 13 21 34... //0 1 2 3 4 5 6 7 8 9... //??fib (n) == 9 //??fib (n) == 13 int n = 0; while (fib (n) < x) { n++; } return fib(n)==x; } // X X X X X X X X X XX XX int findMax (int a[], int n) { if (n==1) return a[0]; return max (a[0], findMax (a+1,n-1)); } void printBackwards (int n) { if (n == 0) return; int x; cin >> x; printBackwards (n-1); cout << x << endl; } int main () { // cout << deleteDigitRec (1234,2) << endl; // printAllPerfecrBetween (1,10000); int a[] = {1,2,3,4,5,6}; int b[] = {2,2,3,3,1,1,1,5,6,4}; //cout << countEqualPairs (a,b,6,7) << endl; ///cout << subset (a,6,b,10) << endl; //cout << fib (5) << endl << fib_iter (5) << endl; //cout << isFib_iter (35) << endl; printBackwards (5); }