begin
var a := ArrGen(10, i -> 20 * i + 13);
a.Println;
var b := ArrGen(17, i -> 17 - i);
b.Println
end.
Объяснение:
Тут главное найти формулу для общего члена.
а) 33 - 13 = 20; 53 - 33 = 20 ... все понятно, последующий элемент получается из предыдущего путем прибавления 20.
a[i+1] = a[i] +20 - это рекуррентная формула.
Можно также получить значение любого элемента как
a[i] = 20*i - 7, где i = 1, 2, 3,... 10 или
a[i] = 20*i + 13, где i = 0, 1, 2, ... 9
б) Здесь числа просто убывают от 17 до 1.
a[i+1] = a[i] - 1 - рекуррентная формула
a[i] = 18 - i, где i = 1, 2, 3, ... 17 или
a[i] = 17 - i, где i = 0, 1, 2, ... 16
Какие из этих формул были использованы в приведенной программе, видно без объяснений.
#include <pch.h>
#include <iostream>
using namespace std;
int main()
{
setlocale(LC_ALL, "RUSSIAN");//Добавление русского языка
system("color F0");//Замена цвета экрана на белый и текста на черный
int A, B, A1, B1, A2, B2, A3, B3; //Добавление переменных
cout << "Введите результаты первого взвешивания" << endl; //Приглашение к вводу
cin >> A1 >> B1; //Ввод
cout << "Первое взвешивание: " << A1 << " - " << B1 << endl; //Эхо-контроль
if ((A1 < 0) || (B1 < 0))
{
cout << "Ошибка. Введите натуральное число" << endl;
return 1; //Выход по ошибке 1
}
cout << "Введите результаты второго взвешивания" << endl; //Приглашение к вводу
cin >> A2 >> B2; //Ввод
cout << "Второе взвешивание: " << A2 << " - " << B2 << endl; //Эхо-контроль
if ((A2 < 0) || (B2 < 0))
{
cout << "Ошибка. Введите натуральное число" << endl;
return 2; //Выход по ошибке 2
}
cout << "Введите результаты третьего взвешивания" << endl; //Приглашение к вводу
cin >> A3 >> B3; //Ввод
cout << "Третье взвешивание: " << A3 << " - " << B3 << endl; //Эхо-контроль
if ((A3 < 0) || (B3 < 0))
{
cout << "Ошибка. Введите натуральное число" << endl;
return 3; //Выход по ошибке 3
}
//Вычисления
A = A1 - A3;
B = B1 - B2;
cout << "Первый математик собрал: " << A << endl <<
"Второй математик собрал: " << B << endl; //Вывод результатов
return 0; //Штатный выход
} //end main
Объяснение:
выходит что-то в этом духе в Visual Studio Express 2017
Не совсем понял вот этот момент в задаче: "В i-й строке (1 ≤ i ≤ 3) записаны целые числа ai и bi (0 ≤ ai, bi ≤ 10 000)."
если надо сделать через цикл или что-то изменить - пиши