Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/8: Рейтинг темы: голосов - 8, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 25.01.2016
Сообщений: 17

Найти количество счастливых билетов учитывая скорость выполнения программы

17.02.2016, 21:01. Показов 1775. Ответов 19
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Найти количество счастливых билетов учитывая скорость выполнения программы,счастливый билет имеет вид a+b+c=d+e+f.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
17.02.2016, 21:01
Ответы с готовыми решениями:

Найти количество счастливых билетов с 6-значными номерами
Найти количество счастливых билетов в серии ABC, то есть с 6 - значными номерами вида ABCXXX, счастливым билет считается с номером ABCDEF,...

Найти количество счастливых билетов с шестизначными номерами
Построить алгоритм для нахождения количества счастливых билетов с шестизначными номерами. Билет считается счастливым , если сумма первых...

Найти количество всевозможных шестизначных счастливых билетов
Найти количество всевозможных шестизначных счастливых билетов (для простого алгоритма потребуется 6 циклов) Под счастливыми...

19
Диссидент
Эксперт C
 Аватар для Байт
27714 / 17332 / 3810
Регистрация: 24.12.2010
Сообщений: 38,978
17.02.2016, 21:54
Цитата Сообщение от fortison Посмотреть сообщение
имеет вид
Я правильно понял, что сумма первых 3-х цифр = сумме трех последних?
Задача имеет аналитическое решение. В виде формулы.
Цитата Сообщение от fortison Посмотреть сообщение
учитывая скорость выполнения
В этом случае скорость = бесконечности (время решения = 0)
0
0 / 0 / 0
Регистрация: 25.01.2016
Сообщений: 17
18.02.2016, 12:56  [ТС]
Вы все правильно поняли.Каждая цифра от 0 до 9.В задании так написано,я сам не понимаю причем тут время выполнения.Наверное про время можно подзабыть.
0
Любитель чаепитий
 Аватар для GbaLog-
3745 / 1801 / 566
Регистрация: 24.08.2014
Сообщений: 6,020
Записей в блоге: 1
18.02.2016, 13:09
fortison,
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
#include <algorithm>
#include <string>
using namespace std;
 
int main()
{
    int n;
    cin >> n;
    string str = to_string(n);
    int sum1,sum2;
    sum1 = int(str[0] + str[1] + str[2]);
    sum2 = int(str[3] + str[4] + str[5]);
    if(sum1 == sum2) cout << "It's lucky ticket!";
    else cout << "It's unlucky ticket!";
    cout << endl;
}
0
0 / 0 / 0
Регистрация: 25.01.2016
Сообщений: 17
18.02.2016, 13:37  [ТС]
makfak, мне надо определить количество этих билетов,каждая цифра от 0 до 9.
0
Диссидент
Эксперт C
 Аватар для Байт
27714 / 17332 / 3810
Регистрация: 24.12.2010
Сообщений: 38,978
18.02.2016, 13:49
Рассмотрим комбинации из трех цифр.
Суммы 0 и 27 дают по одной комбинация. Количество счастливых билетов = 2*1*1 = 2
Суммы 1 и 26 по 3 комбинации КСБ = 2*3*3 = 18
Суммы 2 и 25 по 6 комбинации КСБ = 2*6*6 = 72
...
Суммы 13 и 14 ....
И все это сложить
1
543 / 486 / 104
Регистрация: 05.05.2014
Сообщений: 1,110
18.02.2016, 14:06
3 и 24 по 10 комб КСБ = 2*10*10 = 200
4 и 23 по 15 комб.КСБ = 2*15*15 = 450
... А вот есть ли общая формула? До 9-ти точно есть Ck+22. А вот дальше начинает работать ограничение <= 9
0
0 / 0 / 0
Регистрация: 25.01.2016
Сообщений: 17
18.02.2016, 14:12  [ТС]
Проверьте пожалуйста
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
#include <algorithm>
#include <string>
using namespace std;
 
int main()
{
    int count=0;
    for(int i = 100000;i<999999;i++){
    string str = to_string(i);
    int sum1,sum2;
    sum1 = int(str[0] + str[1] + str[2]);
    sum2 = int(str[3] + str[4] + str[5]);
    if(sum1 == sum2) 
    count++;
    }
    cout<< count << endl;
    system("pause");
    return 0;
}
0
Диссидент
Эксперт C
 Аватар для Байт
27714 / 17332 / 3810
Регистрация: 24.12.2010
Сообщений: 38,978
18.02.2016, 14:33
Цитата Сообщение от fortison Посмотреть сообщение
Проверьте
Проверять не буду. т.к. алгоритм мне совершенно не нравится.А зачем проверять такие несовершенные алгоритмы?
Если хочешь программно, то это делается так
C++
1
2
3
4
5
6
7
8
int a[28];
for(n=0; n<1000; n++) {
  k = n%10 + n/100 + (n/10)%10;
  a[k]++;
}
for(i=count=0; i<28; i++)
  count += a[i]*a[i];
cout << count << endl;
1
0 / 0 / 0
Регистрация: 25.01.2016
Сообщений: 17
18.02.2016, 14:37  [ТС]
Байт, я знаю что алгоритм не оч.Но все же он работает правильно?
0
Объявлятель переменных
 Аватар для SpBerkut
1225 / 411 / 321
Регистрация: 24.09.2011
Сообщений: 1,279
18.02.2016, 15:22
C++
1
2
3
4
5
6
#include <iostream>
using namespace std;
int main()
{
  cout << 55252;
}
0
Любитель чаепитий
 Аватар для GbaLog-
3745 / 1801 / 566
Регистрация: 24.08.2014
Сообщений: 6,020
Записей в блоге: 1
18.02.2016, 15:37
SpBerkut, 50411*
0
Объявлятель переменных
 Аватар для SpBerkut
1225 / 411 / 321
Регистрация: 24.09.2011
Сообщений: 1,279
18.02.2016, 16:07
Цитата Сообщение от makfak Посмотреть сообщение
SpBerkut, 50411*
С чего это? Номер 000001 — это тоже номер.
0
-80 / 27 / 1
Регистрация: 14.03.2015
Сообщений: 809
18.02.2016, 17:07
Вот моя попытка,
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#include "stdafx.h"
#include <iostream>
using namespace std;
 
int _tmain(int argc, _TCHAR* argv[])
{
    long int i;
    int count = 0;
    int w, z;
    for (i = 1000; i <= 999999; i++)
    {
        w = i / 1000;
        if (w < 10)
            w = w % 10;
        if (w >= 10 && w < 100)
            w = (w / 10) + (w % 10);
        if (w >= 100)
            w = (w / 100) + ((w % 100) / 10) + (w % 10);
        z = i % 1000;
        if (z < 10)
            z = z % 10;
        if (z >= 10 && z < 100)
            z = (z / 10) + (z % 10);
        if (z >= 100)
            z = (z / 100) + ((z % 100) / 10) + (z % 10);
        if (w == z)
            count++;
    }
    cout << count << endl << endl;
 
    system("pause");
    return 0;
}
0
543 / 486 / 104
Регистрация: 05.05.2014
Сообщений: 1,110
18.02.2016, 17:45
Цитата Сообщение от gogaloh Посмотреть сообщение
Вот моя попытка,
Не самая удачная, однако...

Добавлено через 3 минуты
Цитата Сообщение от makfak Посмотреть сообщение
50411
Нечетным количество счастливых билетов быть вообще не может
0
-80 / 27 / 1
Регистрация: 14.03.2015
Сообщений: 809
18.02.2016, 17:46
8-BITOV, почту за честь созерцать элегантное решение.
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33376 / 21500 / 8236
Регистрация: 22.10.2011
Сообщений: 36,895
Записей в блоге: 11
18.02.2016, 17:50
Цитата Сообщение от gogaloh Посмотреть сообщение
почту за честь созерцать элегантное решение
Элегантные решения были описаны в журнале для школьников "Квант" (с 1988 по 1990 годы, не помню точно, но поиск по их архиву выведет запросто на нужные номера). А все, что предлагается сейчас - это дуболомный перебор всех номеров и подсчет. Типа, "компьютер железный - пусть считает, мощности выросли, думать не нужно"
1
543 / 486 / 104
Регистрация: 05.05.2014
Сообщений: 1,110
18.02.2016, 17:56
Цитата Сообщение от gogaloh Посмотреть сообщение
почту за честь созерцать элегантное решение.
А чем не нравится решение в посте 9 ?
0
-80 / 27 / 1
Регистрация: 14.03.2015
Сообщений: 809
18.02.2016, 19:26
8-BITOV, вот еще вариант, но выдает не верный ответ.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#include "stdafx.h"
#include <iostream>
using namespace std;
 
 
int _tmain(int argc, _TCHAR* argv[])
{
    int x = 0;
    int i, a, b, c;
    for (i = 0; i < 28; i++)
    {
        for (a = 0; a <= 9; a++)
        {
            for (b = 0; b <= 9; b++)
            {
                for (c = 0; c <= 9; c++)
                {
                    if (i ==( a + b + c))
                        x++;
                }
            }
        }
 
    }
    cout << x << endl << endl;
 
    system("pause");
    return 0;
}
Выдает ответ 1000.
0
543 / 486 / 104
Регистрация: 05.05.2014
Сообщений: 1,110
18.02.2016, 20:37
Цитата Сообщение от gogaloh Посмотреть сообщение
Выдает ответ 1000.
Как код напишешь - так он и считает...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
18.02.2016, 20:37
Помогаю со студенческими работами здесь

Найти количество счастливых билетов
Назовем билет счастливым, если в его номере abcd (от 0000 до 9999) a+c=b+d. Найти количество таких билетов

Найти количество счастливых билетов
Здравствуйте! Такая задачка Мы вводим любое число, и программа должна посчитать количество счастливых билетов в интервале от 0 до...

Найти количество счастливых билетов
Как найти кол-во счастливых билетов????

Найти количество счастливых в тираже билетов
Найти количество счастливых в тираже билетов.

Найти количество “счастливых” автобусных билетов в рулоне
на Eclipse Найти количество “счастливых” автобусных билетов в рулоне (номером билета является шестизначное целое число).


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а привычная функция main(). . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru