Имеется часть катушки с автобусными билетами. Номер билета шестизначный. Определить количество счастливых билетов на катушке, если меньший номер билета — N, а больший — М.
(Билет является счастливым, если сумма трех первых его цифр равна сумме трех последних цифр.)
Процесс организовать с использованием функции happy_ticket
Спецификация функции happy_ticket
---------------------------------
* Вход - целочисленные значения наименьшего и наибольшего номеров на катушке - (int N, int M)
* Выход - количество счастливых билетов на катушке
int happy_ticket(int N, int M)
{
int result;
//...
return result;
}
C/C++
Помогите решить задачу на C++
#include <iostream>
using namespace std;
int s(int x)
{
return x / 100 + x / 10 % 10 + x % 10;
}
int happy_ticket(int N, int M)
{
int i, result = 0;
for (i = N; i <= M; i++)
if (s(i / 1000) == s(i % 1000)) k++;
return result;
}
int main()
{
int n, m;
cout << "N M » ";
cin >> n >> m;
cout << happy_ticket(n, m);
cin.get();
}
using namespace std;
int s(int x)
{
return x / 100 + x / 10 % 10 + x % 10;
}
int happy_ticket(int N, int M)
{
int i, result = 0;
for (i = N; i <= M; i++)
if (s(i / 1000) == s(i % 1000)) k++;
return result;
}
int main()
{
int n, m;
cout << "N M » ";
cin >> n >> m;
cout << happy_ticket(n, m);
cin.get();
}
Сергей Петровский
if (s(i / 1000) == s(i % 1000)) result++;
Михаил Безуглов
все равно ноль
Михаил Безуглов
работа дерьма
#include <iostream>
using namespace std;
int happy_ticket(const int n, const int m) {
static const auto t = 1000;
auto sum = [](int b) { return b % 10 + b / 100 + b / 10 % 10; };
auto count = 0;
for (auto x = n; x <= m; ++x) {
if (~x & 1) {
auto a = x / t;
auto b = x % t;
if (sum(a) == sum(b)) ++count;
}
}
return count;
}
int ticket(const char* msg) {
int value;
do {
cout << msg;
cin >> value;
cin.ignore(cin.rdbuf()->in_avail());
} while (value < 100000 || value > 999999);
return value;
}
int main() {
auto n = ticket("ticket: ");
int m;
do m = ticket("ticket: "); while (m < n);
auto count = happy_ticket(n, m);
cout << "happy ticket: " << count << '\n';
system("pause > nul");
}
using namespace std;
int happy_ticket(const int n, const int m) {
static const auto t = 1000;
auto sum = [](int b) { return b % 10 + b / 100 + b / 10 % 10; };
auto count = 0;
for (auto x = n; x <= m; ++x) {
if (~x & 1) {
auto a = x / t;
auto b = x % t;
if (sum(a) == sum(b)) ++count;
}
}
return count;
}
int ticket(const char* msg) {
int value;
do {
cout << msg;
cin >> value;
cin.ignore(cin.rdbuf()->in_avail());
} while (value < 100000 || value > 999999);
return value;
}
int main() {
auto n = ticket("ticket: ");
int m;
do m = ticket("ticket: "); while (m < n);
auto count = happy_ticket(n, m);
cout << "happy ticket: " << count << '\n';
system("pause > nul");
}
Михаил Безуглов
пивнуха
#include <iostream>
using namespace std;
int happy_ticket(int N, int M)
{
int result = 0;
for(int x = N; x <= M; x++)
{
int sum1 = 0, sum2 = 0;
int tmp2 = x % 1000;
int tmp1 = (x / 1000) % 1000;
int t1_1, t1_2, t1_3, t2_1, t2_2, t2_3;
t1_1 = tmp1 % 10;
t1_2 = (tmp1 / 10) % 10;
t1_3 = (tmp1 / 100) % 10;
sum1 = t1_1 + t1_2 + t1_3;
t2_1 = tmp2 % 10;
t2_2 = (tmp2 / 10) % 10;
t2_3 = (tmp2 / 100) % 10;
sum2 = t2_1 + t2_2 + t2_3;
if(sum1 == sum2) result++;
}
return result;
}
int main()
{
int N,M;
do
{
cout << "Введите N: ";
cin >> N;
} while(N > 999999);
do
{
cout << "Введите M: ";
cin >> M;
} while(M <= N || M > 999999);
cout << "Количество счастливых билетов -- "
<< happy_ticket(N,M) << '.' << endl;
return 0;
}
using namespace std;
int happy_ticket(int N, int M)
{
int result = 0;
for(int x = N; x <= M; x++)
{
int sum1 = 0, sum2 = 0;
int tmp2 = x % 1000;
int tmp1 = (x / 1000) % 1000;
int t1_1, t1_2, t1_3, t2_1, t2_2, t2_3;
t1_1 = tmp1 % 10;
t1_2 = (tmp1 / 10) % 10;
t1_3 = (tmp1 / 100) % 10;
sum1 = t1_1 + t1_2 + t1_3;
t2_1 = tmp2 % 10;
t2_2 = (tmp2 / 10) % 10;
t2_3 = (tmp2 / 100) % 10;
sum2 = t2_1 + t2_2 + t2_3;
if(sum1 == sum2) result++;
}
return result;
}
int main()
{
int N,M;
do
{
cout << "Введите N: ";
cin >> N;
} while(N > 999999);
do
{
cout << "Введите M: ";
cin >> M;
} while(M <= N || M > 999999);
cout << "Количество счастливых билетов -- "
<< happy_ticket(N,M) << '.' << endl;
return 0;
}
хз как сделать параша
Похожие вопросы
- Помогите решить задачу по C++!
- Помогите решить задачу на C++
- Помогите решить задачу на C++.
- Помогите решить задачу на c++
- Помогите решить задачу на C++
- Помогите решить задачу на C++
- УМОЛЯЮ!!!!! Помогите решить задачу на C++
- Помогите решить задачу на C++
- Помогите решить задачу в C++
- Помогите решить задачу по программированию на C++