Обновить main.cpp
This commit is contained in:
65
main.cpp
65
main.cpp
@@ -4,8 +4,31 @@
|
|||||||
#include <limits>
|
#include <limits>
|
||||||
#include <string>
|
#include <string>
|
||||||
#include <sstream>
|
#include <sstream>
|
||||||
|
#include <vector>
|
||||||
|
#include <algorithm>
|
||||||
|
#include <cmath>
|
||||||
using namespace std;
|
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) {
|
int gcdDivision(int a, int b) {
|
||||||
while (b != 0) {
|
while (b != 0) {
|
||||||
int remainder = a % b;
|
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() {
|
int main() {
|
||||||
setlocale(LC_ALL, "");
|
setlocale(LC_ALL, "");
|
||||||
/*z1launcher();*/
|
/*z1launcher();*/
|
||||||
z3_16();
|
z4_16();
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user