Какое число будет напечатано на экране при выполнении нижеприведенного алгоритма? алг нач цел x, s s := -1 нц для x от 10 до -3 шаг -2 s := s - x s := s + 1 кц вывод s*x кон
Задачка интересная, исследуем её.Понятно, что программ будет 8. Но в задаче спрашивается, сколько разных чисел получится из двойки, поэтому нужно исследовать каждую программу1. +++ (((2 +2) +2) +2 = 82. ++* (((2 +2) +2) *3 = 183. +*+ (((2 +2) *3) +2 = 144. *++ (((2 *3) +2) +2 = 105. *** (((2 *3) *3) *3 = 54 6. **+ (((2 *3) *3) +2 = 207. *+* (((2 *3) +2) *3 = 248. +** (((2 +2) *3) *3 = 36 Вот только теперь можно сказать что из 2 можно получить 8 разных чисел.
using namespace std;
int main() {
int n=12, imax=0, imin=0;
int a[n];
srand(time(NULL));
cout<<"array:"<<endl;
for (int i=0; i<n; i++)
{
a[i]=rand() % 50;
cout<<a[i]<<" ";
}
cout<<endl;
for (int i=1; i<n; i++) {
if (a[i] > a[imax]) imax = i;
if (a[i] < a[imin]) imin = i;
}
for (int i=0; i<n; i++) {
if (i == imax || i == imin) cout << " ! " << a[i] << " ! ";
else cout << a[i] << " ";
}
cout<<endl;
return 0;
}
Пример:
array:
31 0 13 29 13 34 33 42 40 26 48 24
31 ! 0 ! 13 29 13 34 33 42 40 26 ! 48 ! 24
Вот только теперь можно сказать что из 2 можно получить 8 разных чисел.