1) используя numpy, создадим список с метода arange, позволяющего делать range нецелочисленным. Далее просто суммируем получившийся список (для суммы можно импортировать fsum из библиотеки math, а можно воспользоваться и стандартной sum)
2) исходя из определения арифметической прогрессии:
нам известен первый член (0.5), разность (1), последний член (99.5), а также количество членов прогрессии. Просто посчитаем по формуле.
3) с цикла вычислим все то же самое. Будем постепенно прибавлять к сумме увеличивающийся на 1 первый элемент.
Рассмотрим три решения
Объяснение:
Попробуем тремя :
1) используя numpy, создадим список с метода arange, позволяющего делать range нецелочисленным. Далее просто суммируем получившийся список (для суммы можно импортировать fsum из библиотеки math, а можно воспользоваться и стандартной sum)
2) исходя из определения арифметической прогрессии:
нам известен первый член (0.5), разность (1), последний член (99.5), а также количество членов прогрессии. Просто посчитаем по формуле.
3) с цикла вычислим все то же самое. Будем постепенно прибавлять к сумме увеличивающийся на 1 первый элемент.
Как видим, все три работают одинаково верно.
#include <iostream>
#include <string>
using namespace std;
string fn(unsigned value, unsigned base) {
static string box;
if (!value) {
auto x = box;
box.clear();
return string(x.rbegin(), x.rend());
}
box += to_string(value % base);
value /= base;
return fn(value, base);
}
int main() {
unsigned base, value;
cin >> base >> value;
auto result = fn(value, base);
cout << value << "(10)=" << result << "("<< base << ")\n";
system("pause > nul");
}
Объяснение: