/* * cycle.cpp * * Created on: 25.10.2012 * Author: trifon */ #include #include using namespace std; int main1() { int n; cout << "Моля, въведете n: "; cin >> n; int fact = 1; for(int i = 2; i <= n; i++) fact *= i; // cout << "i = " << i << endl; /* for(int fact = 1, i = 2; i <= n; i++) fact *= i; */ /* int fact = 1, i = 2; for(; i <= n; i++) fact *= i; */ /* int fact = 1; for(int i = 2; i <= n; ) { fact *= i; i++; } */ /* int fact = 1; for(int i = 2; i <= n; fact *= i, i++); */ /* * Грешка: получава се безраен цикъл: for(int i = 2; ; i++) { if (i <= n) fact *= i; } */ // най-простият безкраен for // for(;;); cout << n << "! = " << fact << endl; } int main2() { double x; int n; cout << "Моля, въведете x и n: "; cin >> x >> n; double sum = 0, y = 1; for(int i = 0; i <= n; i++) { sum += y; y *= x / (i+1); } cout << "Сумата е " << sum << endl; return 0; } int main3() { int n; cout << "Моля, въведете n: "; cin >> n; int count = 0; for(int i = 1; i <= n; i++) { int x = n*n*n + 5*i*i*n - 8*i; if (x % 3 == 0) count++; } cout << "Броят на числата е " << count << endl; return 0; } int main4() { int n; cout << "Моля, въведете n: "; cin >> n; int max = n*n*n + 5*n - 8; int maxi = 1; // x_maxi = max for(int i = 2; i <= n; i++) { int x = n*n*n + 5*i*i*n - 8*i; if (max < x) { max = x; maxi = i; } } cout << "Максимумът е " << max << endl; cout << "Той се получава при i = " << maxi << endl; return 0; } int main5() { int n; cout << "Моля, въведете n: "; cin >> n; int fact = 1, i = 2; while (i <= n) // fact = 1 ... (i-1) && i <= n + 1 { fact *= i; i++; } // i > n cout << n << "! = " << fact << endl; } int main6() { double x = 1, sum = 0; int count = 0; while(x > 0) { cout << "Въведете число: "; if (x > 0) { sum += x; count++; } } cout << "Средното аритметично: " << sum / count << endl; } int main7() { double eps; cout << "Моля, въведете точност: "; cin >> eps; double x; cout << "x = "; cin >> x; int i = 0; double y = 1, sum = 0; while (abs(y) >= eps) { sum += y; y *= x / (i+1); i++; } cout << "e^x = " << sum << endl; cout << "i = " << i << endl; } int main8() { int n; cout << "n = "; cin >> n; const int BASE = 16; int m = n; while (m >= BASE) m /= BASE; // m < BASE cout << "Първата цифра на " << n << " в " << BASE << "-ична бройна система" << " е " << m << endl; } int main9() { int n; cout << "n = "; cin >> n; const int DIGIT = 0; const int BASE = 10; int m = n; // За да реша задачата, трябва да знам // че или m % BASE == DIGIT (ура!) // или m == 0 (лошо :( ) while (m % BASE != DIGIT && m > 0) m /= BASE; // m % BASE == DIGIT || m == 0 cout << "Числото " << n; if (m == 0 && n != 0) cout << " НЕ"; cout << " съдържа цифрата " << DIGIT; cout << " в " << BASE << "-ична бройна система" << endl; } int main10() { int n; cout << "n = "; cin >> n; int xi, i = 1; const int A = 7; do { xi = n*n*n + 5*i*i*n - 8*i; i++; } while (xi % A != 0 && i <= n); // xi % A == 0 || i > n if (xi % A == 0) cout << "Има "; else cout << "Няма "; cout << "число, кратно на " << A << endl; } int main11() { int n; cout << "n = "; cin >> n; const int BASE = 10; int m = n, mind = BASE; do { if (m % BASE < mind) mind = m % BASE; m /= BASE; } while (m > 0); // m == 0 cout << "Най-малката цифра на " << n << " е " << mind << " в " << BASE << "-ична бройна система" << endl; } int main12() { int n; cout << "n = "; cin >> n; int d = 1; do d++; while(d < n && n % d != 0); // n % d == 0 - числото не е просто // d == n - числото е просто cout << "Числото " << n; if (d != n) cout << " НЕ"; cout << " е просто" << endl; } int main13() { double a; cout << "a = "; cin >> a; double eps; cout << "eps = "; cin >> eps; double x1, x2 = a; do { x1 = x2; // x1 трябва да има старата стойност на x2 x2 = (x1 + a / x1) / 2; } while (abs(x1 - x2) >= eps); // abs(x1 - x2) < eps cout << "sqrt(" << a << ") = " << x2 << endl; } int main14() { int n; cout << "n = "; cin >> n; for (int i = 0; i < n; i++ ) for (int j = i; j < n; j++ ) for (int k = j; k > i; k-- ) { cout << '(' << i; cout << ',' << j; cout << ',' << k << ')' << endl; } } int main15() { int n; cout << "n = "; cin >> n; double sum = 0; for(int i = 1; i <= n; i++) { double product = 1; for(int j = i+1; j <= 2*n - i; j++) product *= (double)(i-j)/(i+j); sum += product; } cout << "sum = " << sum << endl; } int main() { int n; cout << "n = "; cin >> n; int count = 0; for(int i = 0; count < n; i++) { for(int x = 0; x <= i && count < n; x++) { int y = i - x; cout << "(" << x << "," << y << ")" << endl; count++; } } }