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

Количество трёхзначных чисел, все цифры которых разные - C++

Восстановить пароль Регистрация
 
Dj Programmer
 Аватар для Dj Programmer
13 / 13 / 5
Регистрация: 05.10.2013
Сообщений: 141
21.06.2014, 00:49     Количество трёхзначных чисел, все цифры которых разные #1
Есть задача
Составить прорамму , которая считает количество натуральных чисел ,в которых все 3 цифры разные.
Вот , что я написал
C++
1
2
3
4
int col = 0;
    for (int i = 100 ; i < 1000; i++)
        if (((i/100) != ((i%100)/10)) && ((i/100) != (i%10) && (i%10)!= ((i%100)/10))) col++;
    cout << col;
Но меня смущает конечный результат. Каков должен быть ответ ? И если можно другие варианты решения задачи .
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.06.2014, 00:49     Количество трёхзначных чисел, все цифры которых разные
Посмотрите здесь:

Удалить из массива все элементы,в записи которых все цифры различны. C++
C++ Удалить из массива все элементы,в записи которых все цифры различны.
C++ Массив строк в с++. Вывести строки, в которых есть цифры. В каждой строке удалить все цифры
.Определить количество чисел последовательности, у которых цифры образуют возрастающую последовательность. C++
C++ Дано натуральное число n (n <= 9999). Учитывая все четыре цифры числа, определить, правильно, что оно содержит: все разные цифры
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ev_Hyper
 Аватар для Ev_Hyper
1806 / 1627 / 435
Регистрация: 15.12.2013
Сообщений: 5,779
21.06.2014, 01:03     Количество трёхзначных чисел, все цифры которых разные #2
Dj Programmer, а почему вас смущает результат?
Dj Programmer
 Аватар для Dj Programmer
13 / 13 / 5
Регистрация: 05.10.2013
Сообщений: 141
21.06.2014, 01:05  [ТС]     Количество трёхзначных чисел, все цифры которых разные #3
Цитата Сообщение от Ev_Hyper Посмотреть сообщение
а почему вас смущает результат?
после условия указан рекомендуемый вид оформления ... и там выводится совершенно другой результат 779 чисел.
GuGo1991
267 / 261 / 93
Регистрация: 02.08.2012
Сообщений: 609
21.06.2014, 01:05     Количество трёхзначных чисел, все цифры которых разные #4
Dj Programmer, легче циклами:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
#include <iomanip>
#include <conio.h>
 
int main()
{
    int count = 0;
    for(int i = 1; i < 10; i++)
        for(int j = 0; j < 10; j++)
            for(int z = 0; z < 10; z++)
                if(i != j && j != z && z != i)
                {
                    if(!(count % 10)) { std::cout << std::endl; count = 0; }
                    std::cout << std::setw(5) << i << j << z;
                    count++;
                }
    std::cout << "\nOperation succeeded\n";
    getch();
    return 0;
}
cooller
 Аватар для cooller
564 / 532 / 120
Регистрация: 25.12.2013
Сообщений: 1,456
21.06.2014, 01:08     Количество трёхзначных чисел, все цифры которых разные #5
Dj Programmer,
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
#include<set>
bool check(int number)
{
    std::set<int> s;
    while(number!=0)
    {
        s.insert(number%10);
        number/=10;
    }
    return s.size() == 3;
 
}
int main()
{
    size_t count(0);
    for(size_t i=100; i<1000; ++i)
        if(check(i)) count++;
    std::cout<<"\ncount: "<<count;
    return 0;
}
тоже 648

Добавлено через 21 секунду
GuGo1991, не очень красиво
Ev_Hyper
 Аватар для Ev_Hyper
1806 / 1627 / 435
Регистрация: 15.12.2013
Сообщений: 5,779
21.06.2014, 01:08     Количество трёхзначных чисел, все цифры которых разные #6
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Dj Programmer,
можно так:
C++
1
cout<<9*9*8<<endl;
C++
1
2
3
4
5
6
    int col = 0;
    for (int i = 100 ; i < 1000; i++)
        if (((i/100) != ((i%100)/10)) && ((i/100) != (i%10) && (i%10)!= ((i%100)/10))) col++;
    cout << col<<endl;
    cout<<9*9*8<<endl;
    return 0;
Код
648
648
Для продолжения нажмите любую клавишу . . .
Вот на C# :
C#
1
 Console.WriteLine(Enumerable.Range(100, 900).Where(a => a.ToString().Distinct().Count() == 3).Count());
Код
648
Цитата Сообщение от Dj Programmer Посмотреть сообщение
после условия указан рекомендуемый вид оформления ... и там выводится совершенно другой результат 779 чисел.
может вы неправильно поняли условие?
GuGo1991
267 / 261 / 93
Регистрация: 02.08.2012
Сообщений: 609
21.06.2014, 01:13     Количество трёхзначных чисел, все цифры которых разные #7

Не по теме:


Цитата Сообщение от cooller Посмотреть сообщение
не очень красиво
А мне нравится )


Dj Programmer, 648, если считать первое число с нуля - 720.
Но это уже не трёхзначное число...
Ev_Hyper
 Аватар для Ev_Hyper
1806 / 1627 / 435
Регистрация: 15.12.2013
Сообщений: 5,779
21.06.2014, 01:14     Количество трёхзначных чисел, все цифры которых разные #8
Dj Programmer, Откуда взялось 9*9*8? Простая математика:
[1] : 1...9 //на первом месте может стоять любая цифра от 1 до 9, = 9
[2] : 0...9 - [1] //на втором от 0 до 9 минус та, которая стоит перед ней, = 9
[3] : 0...9 -[2] //от 0 до 9 , минус две предыдущие ,=8
Dj Programmer
 Аватар для Dj Programmer
13 / 13 / 5
Регистрация: 05.10.2013
Сообщений: 141
21.06.2014, 01:16  [ТС]     Количество трёхзначных чисел, все цифры которых разные #9
Цитата Сообщение от Ev_Hyper Посмотреть сообщение
может вы неправильно поняли условие?
условие правильно понял , странно у меня ответ тоже выходит 648

cooller, спасибо за интересный вариант с множествами.
cooller
 Аватар для cooller
564 / 532 / 120
Регистрация: 25.12.2013
Сообщений: 1,456
21.06.2014, 01:17     Количество трёхзначных чисел, все цифры которых разные #10
Цитата Сообщение от Dj Programmer Посмотреть сообщение
странно у меня ответ тоже выходит 648
что же здесь странного, если это верный ответ
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.06.2014, 01:19     Количество трёхзначных чисел, все цифры которых разные
Еще ссылки по теме:

C++ Определить количество N-разрядных натуральных чисел, у которых никакие 2 рядом стоящие цифры не равны
Подсчет натуральных чисел, в которых все три цифры различны C++

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

Или воспользуйтесь поиском по форуму:
Dj Programmer
 Аватар для Dj Programmer
13 / 13 / 5
Регистрация: 05.10.2013
Сообщений: 141
21.06.2014, 01:19  [ТС]     Количество трёхзначных чисел, все цифры которых разные #11
Цитата Сообщение от cooller Посмотреть сообщение
что же здесь странного, если это верный ответ
ну что ж

спасибо всем , буду считать , что в ответе после условия ошибка
Yandex
Объявления
21.06.2014, 01:19     Количество трёхзначных чисел, все цифры которых разные
Ответ Создать тему
Опции темы

Текущее время: 13:11. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru