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

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

Войти
Регистрация
Восстановить пароль
 
дарт вейдер
5 / 0 / 0
Регистрация: 05.06.2013
Сообщений: 92
#1

Определить - C++

17.06.2013, 17:55. Просмотров 341. Ответов 12
Метки нет (Все метки)

Определить все 6-цифровые натуральные числа, которые являются номерами счастливых билетов (сумма первых трех цифр равна сумме последних трех цифр), использовать наименьшее количество циклов (классический вариант - 6 вложенных циклов)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.06.2013, 17:55     Определить
Посмотрите здесь:

Ввести массив 4:4. Определить максимум , определить минимум,определить разность - C (СИ)
Ввести массив 4:4. Определить максимум , определить минимум,определить разность. Главную диагональ заменить на полученную разность....


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
HighPredator
5464 / 1830 / 338
Регистрация: 10.12.2010
Сообщений: 5,412
Записей в блоге: 3
17.06.2013, 18:06     Определить #2
Неклассический вариант с одним циклом.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
 
using namespace std;
 
int main()
{
    int s1,s2;
    for(int i=100000;i<1000000;i++)
    {
        s1=i/1000;
        s2=i%1000;
        s1=s1%10+s1/10%10+s1/100;
        s2=s2%10+s2/10%10+s2/100;
        if(s1 == s2) cout<<i<<endl;
    }
    getchar();
    return 0;
}
Thinker
Эксперт C++
4221 / 2195 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
17.06.2013, 18:08     Определить #3
Цитата Сообщение от дарт вейдер Посмотреть сообщение
Определить
в смысле, вывести или найти количество. от этого зависит эффективность алгоритма
HighPredator
5464 / 1830 / 338
Регистрация: 10.12.2010
Сообщений: 5,412
Записей в блоге: 3
17.06.2013, 18:15     Определить #4
Thinker, что-то не понял вас. Сказано:
Цитата Сообщение от дарт вейдер Посмотреть сообщение
Определить все 6-цифровые натуральные числа...
При чем тут количество?
Thinker
Эксперт C++
4221 / 2195 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
17.06.2013, 18:18     Определить #5
Цитата Сообщение от HighPredator Посмотреть сообщение
При чем тут количество?
обычно просят в таких задачах найти количество, в этом случае имеются эффективные алгоритмы. поэтому хотелось бы уточнения. с выводом не так оптимально получится.
дарт вейдер
5 / 0 / 0
Регистрация: 05.06.2013
Сообщений: 92
17.06.2013, 18:20  [ТС]     Определить #6
Цитата Сообщение от HighPredator Посмотреть сообщение
Thinker, что-то не понял вас. Сказано:
При чем тут количество?
пример
есть 6 цифр 324333 должно быть так 4+2+3=3+3+3
HighPredator
17.06.2013, 18:21
  #7

Не по теме:

Теперь понял вас.

Thinker
Эксперт C++
4221 / 2195 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
17.06.2013, 18:22     Определить #8
Цитата Сообщение от дарт вейдер Посмотреть сообщение
пример
есть 6 цифр 324333 должно быть так 4+2+3=3+3+3
кто бы сомневался. вопрос в том, что необходимо найти количество всех таких билетов или вывести все на экран?
дарт вейдер
5 / 0 / 0
Регистрация: 05.06.2013
Сообщений: 92
17.06.2013, 18:22  [ТС]     Определить #9
Цитата Сообщение от Thinker Посмотреть сообщение
в смысле, вывести или найти количество. от этого зависит эффективность алгоритма
вывести ну и найти количество
HighPredator
5464 / 1830 / 338
Регистрация: 10.12.2010
Сообщений: 5,412
Записей в блоге: 3
17.06.2013, 18:24     Определить #10
Цитата Сообщение от дарт вейдер Посмотреть сообщение
найти количество
Счетчик в код сами прикрутите.
Thinker
Эксперт C++
4221 / 2195 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
17.06.2013, 18:25     Определить #11
если количество, то вот очень интересный алгоритм
Алгоритмы. Поиск верного решения задачи.
дарт вейдер
5 / 0 / 0
Регистрация: 05.06.2013
Сообщений: 92
17.06.2013, 18:25  [ТС]     Определить #12
а если так??
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream>
#include <math.h>
    using namespace std;
 
    int main()
    {
        int c,l, k[10];     
        
       for(c=100000; c!=999999; c++)
        {   
            l=c;
        for(int i=0; i!=6; i++)
        {
            k[i]=l%10;
            l=l/10;
        }
        if (k[0]+k[1]+k[2]==k[3]+k[4]+k[5])
            cout<<endl<<c;
        }
 
        cin.get();
        return 0;
    }
Fedorys
489 / 200 / 9
Регистрация: 19.03.2013
Сообщений: 450
17.06.2013, 18:30     Определить #13
Цитата Сообщение от дарт вейдер Посмотреть сообщение
а если так??
Как минимум две ошибки. Во-первых тип int не подойдет для c и l. Во-вторых вы не учитываете число 999999, которое является счастливым.
Yandex
Объявления
17.06.2013, 18:30     Определить
Ответ Создать тему
Опции темы

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