Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 19, средняя оценка - 4.79
nano86
0 / 0 / 0
Регистрация: 15.05.2012
Сообщений: 10
#1

Задача на счастливые билеты - C++

15.05.2012, 13:18. Просмотров 2531. Ответов 6
Метки нет (Все метки)

Уважаемые господа ! Будте добры , помогите решить задачку.

Имееться билет с шестизначным номером(числом). Билет считаеться счастливым если сумма первых трех цифр равна сумме трех последних, на пример 10 , 11 или 9 . Подсчитайте количество счастливых билетов для каждой такой суммы. Сколько всего счастливых билетов с шестизначным номером? Выведите на печать все комбинации.

Очень нужно , срочно , пожалуйста . Программа нужна на С++ или Code Blocks
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.05.2012, 13:18     Задача на счастливые билеты
Посмотрите здесь:

Задача на счастливые билеты C++ - C++
Найдите кол-во счастливых билетов типа - XXXXXX Счастливым является билет у которого три первые цифры равны трём последним Первый билет...

Счастливые билеты - C++
Знаю, что вопрос довольно распространенный и решений можно найти много, но у меня ограниченное задание: нужно найти сумму всех счастливых...

Счастливые билеты - C++
найти колличество счастливых билетов, колличество цыфр в билетах может быть до N (N<=100), помогите пожалуйсто, или хотябы подскажите...

Счастливые билеты - C++
Здравствуйте, имеется интересная задачка. Вводится первое и последнее возможные числа билетовЮ, нужно посчитать сколько счастливых...

Программа про счастливые билеты. Не работает. - C++
#include "stdafx.h" #include <iostream> #include <clocale> using namespace std; void Input(int &N1, int &N2) { cout <<...

Билеты на метро - задача на оптимизацию - C++
Пожалуйста, помогите решить задачку! Сразу предупреждаю, что решение с пятью циклами while не проходит по времени, так что не предлагайте...

Счастливые билетики - C++
Знаю что задача довольна распространена, но решения для моего случая не нашел. Необходимо найти количество всех счастливых билетов(сумма...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
JokerNN
132 / 128 / 36
Регистрация: 29.12.2011
Сообщений: 359
15.05.2012, 14:52     Задача на счастливые билеты #2
Программа в лоб, на С, можно ли оптимизировать - не думал.
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
#include <stdio.h>
 
int main()
{
        int digits[6];
        int counter=0, happy_counter=0;
        for (digits[5]=0; digits[5] <10; digits[5]++){
        for (digits[4]=0; digits[4] <10; digits[4]++){
        for (digits[3]=0; digits[3] <10; digits[3]++){
        for (digits[2]=0; digits[2] <10; digits[2]++){
        for (digits[1]=0; digits[1] <10; digits[1]++){
        for (digits[0]=0; digits[0] <10; digits[0]++){
                if ((digits[5]+digits[4]+digits[3])==(digits[2]+digits[1]+digits[0])) 
                {
                        happy_counter++;
                        int i;
                        for (i=5; i>=0; --i)
                        {
                                printf("%d", digits[i]);
                        }
                        printf("\n");
                }
}}}}}}
printf("Happy tickets count= %d\n", happy_counter);
return 0;
}
nano86
0 / 0 / 0
Регистрация: 15.05.2012
Сообщений: 10
15.05.2012, 15:01  [ТС]     Задача на счастливые билеты #3
Cпасибо огромное , все работает привосходно !
Только один вопросик , где указан промижуток от куда и до куда программа начинает считать ?
JokerNN
132 / 128 / 36
Регистрация: 29.12.2011
Сообщений: 359
15.05.2012, 15:07     Задача на счастливые билеты #4
nano86, вобщем-то нигде, я её писал давно для себя из интереса, чтобы посмотреть какова вероятность получить счастливый билетик, считает она от 0 до 999999, но хитрым образом, поразрядно, сделано это для того чтобы не возиться с делениями числа и остатками от его деления.
Самый внешний цикл отвечает за самый старший разряд, самый внутренний - за самый младший.
В телах цикла разряды идут от 0 до 9 - то есть реализован счётчик десятичных цифр. Чтобы явно задавать откуда считать нужно значение каждого разряда менять, то есть например чтобы считать от 10000, нужно digits[4]=1 в теле соответствующего цикла написать. Я на это не расчитывал, по-этому это так неудобно)
nano86
0 / 0 / 0
Регистрация: 15.05.2012
Сообщений: 10
15.05.2012, 16:05  [ТС]     Задача на счастливые билеты #5
Спасибо) Ну чтож , программа работает ,завтра попробуем ее сдать и получить зачет =)
temkasky
81 / 81 / 28
Регистрация: 26.11.2012
Сообщений: 303
02.02.2015, 02:38     Задача на счастливые билеты #6
На днях задали такую же задачу, вот мое решение используя только начальные знания.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
#include <math.h>
using namespace std;
 
void main(){
int k, i, n, right, left, count, total=0;
    for (count = 0; count <= 999999; count++){
        n = count;
        right = 0, left = 0;
        for (i = 1; n > 0; i++){
            k = n % 10, n = n / 10;
            if (i <= 3) right += k;
            else left += k;
        }
        if (right != left);
        else total++;
    }
    cout << total << endl;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.02.2015, 10:40     Задача на счастливые билеты
Еще ссылки по теме:

Счастливые числа - C++
Счастливым будем считать такое число из шести цифр, кортом сумма левых трех цифр равна сумме правых трех цифр. Найти все счастливые билеты...

Счастливые числа - C++
Вот мой код: #include &lt;stdio.h&gt; int main() { int T,count,i,s,k,l,r; s = 0; k = 0;

Счастливые числа - C++
Как-то не могу вникнуть в суть кода :( Назовем число счастливым, если сумма цифр на четных позициях равня сумме цифр на нечетных...

6-значные счастливые числа - C++
Здравствуйте, прошу помощи! Тема: Функции. Получить все 6-значные счастливые числа, т.е. те, у которых сумма первых трех цифр...

Получить все шестизначные счастливые номера - C++
Получить все шестизначные счастливые номера. Счастливым называют такое шестизначное число, в котором сумма ею первых трех цифр равна сумме...


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

Или воспользуйтесь поиском по форуму:
Ilot
Модератор
Эксперт С++
1807 / 1164 / 226
Регистрация: 16.05.2013
Сообщений: 3,060
Записей в блоге: 5
Завершенные тесты: 1
02.02.2015, 10:40     Задача на счастливые билеты #7
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
#include <vector>
int main() {
    int m;
    int count = 0;
    std::vector<int> coll;
    std::cout << "Input sum: "; std::cin >> m;
 
    for(int i = 1; i < 10; ++i)
        for(int j = 0; j < 10; ++j)
            if((m - i - j) >= 0)
                coll.push_back(i * 99 + j * 9 + m);
 
    std::cout << "Total number: " << coll.size() * coll.size() << std::endl;
    for(int i = 0; i < coll.size(); ++i)
        for(int j = 0; j < coll.size(); ++j)
        std::cout << coll[i] << coll[j] << std::endl;
    return 0;
}
Yandex
Объявления
02.02.2015, 10:40     Задача на счастливые билеты
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru