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

Найти числа до 9999 у которых из 4 цифр совпадает 3 - C++

Войти
Регистрация
Восстановить пароль
 
PAMPA
 Аватар для PAMPA
6 / 7 / 2
Регистрация: 20.03.2014
Сообщений: 115
19.04.2014, 19:04     Найти числа до 9999 у которых из 4 цифр совпадает 3 #1
найти числа в интервале n<=9999 если из 4 цифр совпадает 3.Например 4111 , 3393 ,4414
заранее спасибо !
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.04.2014, 19:04     Найти числа до 9999 у которых из 4 цифр совпадает 3
Посмотрите здесь:

C++ Найти числа из интервала от 1 до N-1, для которых произведение всех цифр совпадает с суммой
Найти все двузначные числа, сумма квадратов цифр которых делится на 17 C++
C++ Найти и вывести числа произведение цифр которых равно их сумме!
C++ Найти все двузначные числа, сумма цифр которых не меняется при умножении числа на 2,3,4,5,6,7,8,9
Найти все двузначные числа, сумма квадратов цифр которых кратна M C++
Ввести натуральное число n. Среди чисел 1,.,n найти все такие числа, запись которых совпадает с последними цифрами C++
C++ Найти на отрезке все числа, сумма цифр которых дает заданное
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
IrineK
Заблокирован
19.04.2014, 19:05     Найти числа до 9999 у которых из 4 цифр совпадает 3 #2
Цитата Сообщение от PAMPA Посмотреть сообщение
найти числа в интервале
Цитата Сообщение от PAMPA Посмотреть сообщение
работа с классами
Причем здесь одно к другому?
PAMPA
 Аватар для PAMPA
6 / 7 / 2
Регистрация: 20.03.2014
Сообщений: 115
22.04.2014, 08:38  [ТС]     Найти числа до 9999 у которых из 4 цифр совпадает 3 #3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
using namespace std;
int main()
{
    
int  a,b,c,d;
  int  n=9999;
    
    for(int i=1000;i<=n;i++){
    d = i%10;
    c=((i%100)-d)/10;
    b=((i%1000)-c)/100;
    a=i/1000;
     if(a==b&&a==c&&a==d)
          continue;
      if((a==b&&a==c)||(a==b&&a==d)||(a==c&&a==d)||(b==c&&b==d))
          
                cout << i << endl;
    }   
    
}
ZaMaZaN4iK
Мой лучший друг-отладчик!
 Аватар для ZaMaZaN4iK
163 / 163 / 9
Регистрация: 24.06.2012
Сообщений: 662
Записей в блоге: 5
Завершенные тесты: 1
22.04.2014, 13:41     Найти числа до 9999 у которых из 4 цифр совпадает 3 #4
PAMPA, гореть Вам в аду за такой код.А если человеку понадобится на числах до 100000? Вы тоже всё руками допишите?Предлагаю другой вариант: бежим циклом от начала отрезка до его конца.У каждого числа выдираем все его цифры, пихаем в std::set, смотрим, чтобы размер set'a нам подходил(легко посчитать, какого размера должен быть set).Если такого размера - выводим это число, нет - идем дальше.И не забываем очищать set.Тут конечно можно различные эвристики ещё впихнуть - от какого числа начинаем бежать, прыгать не по каждому числу, а перепрыгивать.И так далее.Но для начала и это думаю сойдет
PAMPA
 Аватар для PAMPA
6 / 7 / 2
Регистрация: 20.03.2014
Сообщений: 115
01.05.2014, 15:43  [ТС]     Найти числа до 9999 у которых из 4 цифр совпадает 3 #5
ты лучше код напиши,и будь со словами поаккуратнее!!!
cooller
 Аватар для cooller
564 / 532 / 120
Регистрация: 25.12.2013
Сообщений: 1,456
01.05.2014, 16:21     Найти числа до 9999 у которых из 4 цифр совпадает 3 #6
PAMPA, как то так
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
#include <algorithm>
#include <iostream>
#include<vector>
const size_t count_digits = 3;
bool bool_count(int number)
{
    std::vector <int> ivec;
    while (number>0)
    {
        ivec.push_back(number % 10);
        number /= 10;
    }
    for (size_t i = 0; i < ivec.size(); ++i)
    if (std::count(ivec.begin(), ivec.end(), ivec.at(i)) == count_digits)
        return true;
    return false;
}
 
int main()
{
    for (size_t i = 110; i<9999; ++i)
    {
        if (bool_count(i))
            std::cout << i << "\n";
    }
    return 0;
}
Добавлено через 2 минуты
PAMPA, ну ты не нервничай, а адекватно воспринимай критику, ведь код мало того что не "красивый", он еще и не рабочий
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.05.2014, 15:53     Найти числа до 9999 у которых из 4 цифр совпадает 3
Еще ссылки по теме:

Найти все трехзначные числа, состоящие из разных цифр, сумма которых равна А C++
C++ Найти все двузначные числа, сумма цифр которых не меняется при умножении числа на 2, 3, 4, 5, 6, 7, 8, 9
Найти все n-значные числа, сумма квадратов цифр которых кратна М C++
C++ Найти трехзначные натуральные числа, сумма цифр которых равна их произведению
C++ Найти такие числа запись которых совпадает с последними цифрами записи их квадрата

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

Или воспользуйтесь поиском по форуму:
UME
 Аватар для UME
2 / 2 / 1
Регистрация: 14.01.2014
Сообщений: 68
19.05.2014, 15:53     Найти числа до 9999 у которых из 4 цифр совпадает 3 #7
Здрасьте, в общем, это я ему подкинул эту идею( имею ввиду ужасный код).
А чем плох код?
Тем что он написан только для определенного интервала или как?
Yandex
Объявления
19.05.2014, 15:53     Найти числа до 9999 у которых из 4 цифр совпадает 3
Ответ Создать тему
Опции темы

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