Обновить main.cpp
This commit is contained in:
65
main.cpp
65
main.cpp
@@ -4,8 +4,31 @@
|
||||
#include <limits>
|
||||
#include <string>
|
||||
#include <sstream>
|
||||
#include <vector>
|
||||
#include <algorithm>
|
||||
#include <cmath>
|
||||
using namespace std;
|
||||
|
||||
// Функция перевода из двоичной строки в десятичное число
|
||||
int binaryToDecimal(const string& binary) {
|
||||
int decimal = 0;
|
||||
for (char c : binary) {
|
||||
decimal = decimal * 2 + (c - '0');
|
||||
}
|
||||
return decimal;
|
||||
}
|
||||
|
||||
// Функция перевода из десятичного числа в пятеричную систему
|
||||
string decimalToBase5(int decimal) {
|
||||
if (decimal == 0) return "0";
|
||||
string base5 = "";
|
||||
while (decimal > 0) {
|
||||
base5 += (decimal % 5) + '0';
|
||||
decimal /= 5;
|
||||
}
|
||||
reverse(base5.begin(), base5.end());
|
||||
return base5;
|
||||
}
|
||||
int gcdDivision(int a, int b) {
|
||||
while (b != 0) {
|
||||
int remainder = a % b;
|
||||
@@ -146,10 +169,50 @@ void z3_16() {
|
||||
|
||||
|
||||
}
|
||||
void z4_22() {
|
||||
// Входной массив F[1:n] в двоичной системе
|
||||
vector<string> binaryArray = { "101", "110", "1111", "10010" };
|
||||
|
||||
// Массив для хранения чисел в пятеричной системе
|
||||
vector<string> base5Array;
|
||||
|
||||
// Преобразуем числа
|
||||
for (const string& binary : binaryArray) {
|
||||
int decimal = binaryToDecimal(binary); // Перевод в десятичное
|
||||
string base5 = decimalToBase5(decimal); // Перевод в пятеричное
|
||||
base5Array.push_back(base5);
|
||||
}
|
||||
|
||||
// Вывод результата
|
||||
cout << "Числа в пятеричной системе: ";
|
||||
for (const string& num : base5Array) {
|
||||
cout << num << " ";
|
||||
}
|
||||
cout << endl;
|
||||
}
|
||||
void z4_16() {
|
||||
double epsilon; // Входное значение ε
|
||||
cout << "Введите значение epsilon: ";
|
||||
cin >> epsilon;
|
||||
|
||||
double y = 0; // Итоговая сумма
|
||||
int n = 1; // Начальный индекс
|
||||
const double limit = epsilon; // Условие для множителя
|
||||
|
||||
while (true) {
|
||||
double term = pow(1.0 / 3, n) * pow(cos(pow(3, n - 1)), 3);
|
||||
if (pow(1.0 / 3, n) < limit) {
|
||||
break; // Условие выхода из цикла
|
||||
}
|
||||
y += term;
|
||||
n++;
|
||||
}
|
||||
|
||||
cout << "Результат вычислений: y = " << y << endl;
|
||||
}
|
||||
int main() {
|
||||
setlocale(LC_ALL, "");
|
||||
/*z1launcher();*/
|
||||
z3_16();
|
||||
z4_16();
|
||||
return 0;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user