В царстве-государстве принята валюта "дубики", а мировая валюта - "чужачки".
Также дубики можно разменять на липочки. Один дубик равен ста липочкам.
У гражданина-жителя царства-государства было X чужачков, Y дубиков и Z липочек. Потом он решил продать все свои чужачки. Стоимость одного чужачка составляет M дубиков и N липочек.
Определите, сколько дубиков и липочек теперь у гражданина-жителя, если известно, что после продажи чужачков он еще и разменял липочки на дубики.
Формат входных данных
В первой строке указываются целые числа X, Y, Z- начальное количество чужачков, дубиков и липочек у гражданина-жителя (0 ≤ X, Y, Z ≤ 5000)
Во второй строке указываются целые числа M, N - цена одного чужачка в дубиках и липочках (0 ≤ M ≤ 120), (0 ≤ N ≤ 100)
Формат выходных данных
Два целых числа, где первое из них - количество дубиков, а второе количество липочек. Известно, что липочки были разменены на дубики, соответственно их количество не может быть больше ста.
C/C++
Помогите пожалуйста С++
не суйся в это дело. не твое это....
Дмитрий Евсеев
ага
#include <iostream>
using namespace std;
struct Money {
int y;
int z;
static const auto hundred = 100;
Money() : y(0), z(0) {}
void add(const Money& m) {
y += m.y;
z += m.z;
while (z >= hundred) {
++y;
z -= hundred;
}
}
friend ostream& operator<<(ostream& out, const Money& mn) {
return out << mn.y << ' ' << mn.z;
}
};
struct ExchangeRate {
int m;
int n;
ExchangeRate() : m(0), n(0) {}
void set(const int a, const int b) {
m = a;
n = b;
}
};
struct Currency {
int x;
Currency() : x(0) {}
Money convert(const Money& mn, const ExchangeRate& er)const {
Money tmp;
tmp.y = er.m * x;
tmp.z = er.n * x;
Money money;
money.add(tmp);
return money;
}
};
int main() {
Currency currency;
cin >> currency.x;
Money money;
cin >> money.y >> money.z;
ExchangeRate er;
cin >> er.m >> er.n;
auto cnv = currency.convert(money, er);
money.add(cnv);
cout << money << '\n';
}
using namespace std;
struct Money {
int y;
int z;
static const auto hundred = 100;
Money() : y(0), z(0) {}
void add(const Money& m) {
y += m.y;
z += m.z;
while (z >= hundred) {
++y;
z -= hundred;
}
}
friend ostream& operator<<(ostream& out, const Money& mn) {
return out << mn.y << ' ' << mn.z;
}
};
struct ExchangeRate {
int m;
int n;
ExchangeRate() : m(0), n(0) {}
void set(const int a, const int b) {
m = a;
n = b;
}
};
struct Currency {
int x;
Currency() : x(0) {}
Money convert(const Money& mn, const ExchangeRate& er)const {
Money tmp;
tmp.y = er.m * x;
tmp.z = er.n * x;
Money money;
money.add(tmp);
return money;
}
};
int main() {
Currency currency;
cin >> currency.x;
Money money;
cin >> money.y >> money.z;
ExchangeRate er;
cin >> er.m >> er.n;
auto cnv = currency.convert(money, er);
money.add(cnv);
cout << money << '\n';
}
Александр Зиборов
Вот это по нашему. Только почему в один поток? Мощи не хватит всех зайчиков, белок и бобров посчитать. А еще круче - для каждого чужика отдельный элемент класса с координатами. Тогда мы сможем выследить всех этих черных менял!
#include < iostream >
using namespace std;
int main()
{
unsigned int X, Y, Z, M, N;
cout << "Enter X(aliens), Y(dubics), Z(lipics)\n";
cin >> X >> Y >> Z;
if (X > 5000 || Y > 5000 || Z > 5000) { cout << "Error: values must be 0...5000"; return 1; }
cout << "Enter M, N (aliens value in dub and lip)\n";
cin >> M >> N;
if (M > 120 || Z > 100) { cout << "Error: values must be 0...120 and 0...100"; return 1; }
Y += X * M; //размен чужиков на дубики
Z += X * N; //размен чужиков на липики
Y += Z / 100; //размен липиков на дубики
Z = Z % 100; //сдача
cout << "Citizen has " << Y << " dubs and " << Z << " lips" << endl;
}
using namespace std;
int main()
{
unsigned int X, Y, Z, M, N;
cout << "Enter X(aliens), Y(dubics), Z(lipics)\n";
cin >> X >> Y >> Z;
if (X > 5000 || Y > 5000 || Z > 5000) { cout << "Error: values must be 0...5000"; return 1; }
cout << "Enter M, N (aliens value in dub and lip)\n";
cin >> M >> N;
if (M > 120 || Z > 100) { cout << "Error: values must be 0...120 and 0...100"; return 1; }
Y += X * M; //размен чужиков на дубики
Z += X * N; //размен чужиков на липики
Y += Z / 100; //размен липиков на дубики
Z = Z % 100; //сдача
cout << "Citizen has " << Y << " dubs and " << Z << " lips" << endl;
}
Похожие вопросы
- Помоги пожалуйста с программой в С++
- Помогите пожалуйста написать программу на Си
- Помогите пожалуйста уже голову сломал, ничего не получается, когда перегружаю шаблонный оператор << ,
- Помогите пожалуйста написать код.(C++)
- Задачки по С++ (помогите пожалуйста кто какие сможет)
- Помогите пожалуйста с программой
- Помогите пожалуйста с C++
- Помогите пожалуйста решить задачу на языке С#.
- Помогите пожалуйста составить задачу на программе С++
- Помогите, пожалуйста решить на C++, используя многомерные статические массивы