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

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

Войти
Регистрация
Восстановить пароль
 
ika11ika
0 / 0 / 0
Регистрация: 16.11.2013
Сообщений: 12
#1

Счастливые билеты - C++

16.11.2013, 00:08. Просмотров 941. Ответов 6
Метки нет (Все метки)

Знаю, что вопрос довольно распространенный и решений можно найти много, но у меня ограниченное задание: нужно найти сумму всех счастливых билетиков(транспортные билеты, состоящие из 6 цифр, в которых, сумма первых 3 цифр равна сумме вторых трех цифр) на C++ используя только библиотеку <stdio.h>, ну или хотя бы привести обоснованные доводы, что только с ней этого сделать нельзя. Сама долго мучилась, что-то не вышло. Заранее спасибо.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.11.2013, 00:08     Счастливые билеты
Посмотрите здесь:

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

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

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

Задача на счастливые билеты - C++
Уважаемые господа ! Будте добры , помогите решить задачку. Имееться билет с шестизначным номером(числом). Билет считаеться счастливым...

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

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

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

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Folko
265 / 253 / 7
Регистрация: 27.09.2013
Сообщений: 877
Записей в блоге: 1
16.11.2013, 00:23     Счастливые билеты #2
ika11ika, эммм... в цикле разбиваем введенное 6-значное число на цифры (c помощью mod и div) и загоняем их в массив int x[6]; А там считаем сумму первых трех и последних трех, проверяем и извещаем пользователя о результате. По моему реализовать возможно
ika11ika
0 / 0 / 0
Регистрация: 16.11.2013
Сообщений: 12
16.11.2013, 09:18  [ТС]     Счастливые билеты #3
Цитата Сообщение от Folko Посмотреть сообщение
ika11ika, эммм... в цикле разбиваем введенное 6-значное число на цифры (c помощью mod и div) и загоняем их в массив int x[6]; А там считаем сумму первых трех и последних трех, проверяем и извещаем пользователя о результате. По моему реализовать возможно
Нужно без ввода данных, чтобы он сам считал это шестизначное число
ПерС
371 / 287 / 89
Регистрация: 05.11.2013
Сообщений: 820
Записей в блоге: 5
Завершенные тесты: 1
16.11.2013, 10:25     Счастливые билеты #4
Цитата Сообщение от ika11ika Посмотреть сообщение
Нужно без ввода данных, чтобы он сам считал это шестизначное число
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream.h>
void main () {
 int i,j,k,l,m,n;
 long int count=0;
 for (i=0; i<10; i++)
 for (j=0; j<10; j++)
 for (k=0; k<10; k++)
 for (l=0; l<10; l++)
 for (m=0; m<10; m++)
 for (n=0; n<10; n++)
  if (i+j+k==l+m+n) count++;
 cout << "Count=" << count << endl << "Press Enter";
 cin.get();
}
Если существует номер 000000
Если нет, ответ на 1 меньше
почему используя stdio не понял... тогда так
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <stdio.h>
void main () {
 int i,j,k,l,m,n;
 long int count=0;
 for (i=0; i<10; i++)
 for (j=0; j<10; j++)
 for (k=0; k<10; k++)
 for (l=0; l<10; l++)
 for (m=0; m<10; m++)
 for (n=0; n<10; n++)
  if (i+j+k==l+m+n) count++;
 printf ("\nCount=%ld",count);
 getchar();
}
или смысл что циклами тоже нельзя???
LuxArt
33 / 20 / 2
Регистрация: 14.11.2013
Сообщений: 85
16.11.2013, 10:27     Счастливые билеты #5
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
#include <iostream>
#include <stdlib.h>
 
int main()
{
    unsigned int total = 0;
 
    for (int n1=0;  n1<10;  ++n1)
        for (int n2=0;  n2<10;  ++n2)
            for (int n3=0;  n3<10;  ++n3)
                for (int n4=0;  n4<10;  ++n4)
                    for (int n5=0;  n5<10;  ++n5)
                        for (int n6=0;  n6<10;  ++n6)
                            if (n1+n2+n3 == n4+n5+n6)
                            {
                                ++total;
                                std::cout << n1 << n2 << n3 << n4 << n5 << n6 << std::endl;
                            }
 
    std::cout << "Сумма всех счастливых билетиков " << total << std::endl;
 
    system("pause");
    return 0;
}
ika11ika, если билет 000000 не нужно учитывать, то от переменной total отними единицу
ika11ika
0 / 0 / 0
Регистрация: 16.11.2013
Сообщений: 12
17.11.2013, 00:45  [ТС]     Счастливые билеты #6
Спасибо огромное!

Добавлено через 8 часов 47 минут
И еще один вопрос. В этой же программе нужно найти самый "одинокий" счастливый билет. То есть нужно сравнить расстояние между каждым следующим билетом(численное расстояние), и вывести на экран номер(то есть цифры в билете) билета, который находится дальше от своего предыдущего, чем остальные от своих. Как-то так. Не очень умею объяснять. Ограничение по библиотекам тоже. Только <stdio.h> Заранее спасибо.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.11.2013, 11:30     Счастливые билеты
Еще ссылки по теме:

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

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
ПерС
371 / 287 / 89
Регистрация: 05.11.2013
Сообщений: 820
Записей в блоге: 5
Завершенные тесты: 1
17.11.2013, 11:30     Счастливые билеты #7
который находится дальше от своего предыдущего, чем остальные от своих
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <stdio.h>
void main () {
 int i,j,k,l,m,n;
 long int count=0,prev=0,current=0,dist=0;
 for (i=0; i<10; i++)
 for (j=0; j<10; j++)
 for (k=0; k<10; k++)
 for (l=0; l<10; l++)
 for (m=0; m<10; m++)
 for (n=0; n<10; n++)
  if (i+j+k==l+m+n) {
   count++;
   current=i*100000+j*10000+k*1000+l*100+m*10+n;
   if (current-prev>dist) {
    dist=current-prev; prev=current;
   }
  }
 printf ("\nCount=%ld",count);
 printf ("\nSingle number=%ld, distance=%ld",prev,dist);
 getchar();
}
Yandex
Объявления
17.11.2013, 11:30     Счастливые билеты
Ответ Создать тему
Опции темы

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