Northsoft

Задачи на анализ циклов

Jun 21st, 2021
753
327 days
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #include <iostream>
  2.  
  3. using namespace std;
  4.  
  5. int main(void)
  6. {
  7.     /* цикл for работает следующим образом:
  8.      * for (начальноеВыражение; условиеПродолжения; шаговоеВыражение)
  9.      *  командаИлиБлок
  10.      * начальное выражение рассчитывается однократно, перед началом цикла
  11.      * (в нём же могут располагаться объявления, переменные в них видны
  12.      * в рамках цикла)
  13.      *
  14.      * условие продолжения проверяется перед каждым оборотом;
  15.      *
  16.      * шаговое выражение рассчитывается после каждого оборота.
  17.      *
  18.      * Зная это, попробуйте предсказать, что выдаст следующий код: */
  19.    
  20.     for (int i = 0; i > -5 && i < 5; ++i)
  21.         cout << i << " ";
  22.     cout << endl;
  23.     // 0 1 2 3 4
  24.    
  25.     for (int i = 0; i > 10; --i)
  26.         cout << i + 1 << endl;
  27.     // (ничего)
  28.    
  29.     int i;
  30.     for (i = 8; i * i < 1000; i *= 2)
  31.         cout << i << "; ";
  32.     cout << endl;
  33.     // 8; 16
  34.    
  35.     cout << 14/5 << endl;
  36.    
  37.     for (int j = i / 3; j > 0; j /= 3)
  38.         cout << i << " ";
  39.     cout << endl;
  40.     // 32 32 32
  41.    
  42.     for (i = 1; i % 10 != 6; i *= 2)
  43.         cout << i << " ";
  44.     cout << endl;
  45.     // 1 2 4 8
  46.    
  47.     int j;
  48.     for (i=75, j=90; i/10 != j/10; i+=3, j-=3)
  49.         cout << "(" << i << ", " << j << "); ";
  50.     cout << endl;
  51.     // (75, 90); (78, 87);
  52.    
  53.     for (i=1; i<250; i*=3) {
  54.         if (i % 10 == 3) {
  55.             cout << i / 10 << " ";
  56.         } else {
  57.             cout << i << "; ";
  58.         }
  59.     }
  60.     cout << endl;
  61.     // 1; 0 9; 27; 81; 24
  62.    
  63.     for (i=12; i>1; --i) {
  64.         for (j=2; j<i; ++j) {
  65.             if (i % j == 0) {
  66.                 cout << i << "/" << j << " = " << i / j << endl;
  67.             }
  68.         }
  69.     }
  70.     /*
  71.     12 / 2 = 6
  72.     12 / 3 = 4
  73.     12 / 4 = 3
  74.     12 / 6 = 2
  75.     10 / 2 = 5
  76.     10 / 5 = 2
  77.     9 / 3 = 3
  78.     8 / 2 = 4
  79.     8 / 4 = 2
  80.     6 / 2 = 3
  81.     6 / 3 = 2
  82.     4 / 2 = 2
  83.     */
  84. }
RAW Paste Data