Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/8: Рейтинг темы: голосов - 8, средняя оценка - 4.75
2 / 2 / 0
Регистрация: 26.01.2015
Сообщений: 38
1

Функция находящая все шестизначные счастливые номера

15.02.2015, 17:31. Показов 1672. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
все шестизначные счастливые номера. счастливым называют такое шестизначное число, в котором сумма его первых трех цифр равна сумме его последних трех цифр
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.02.2015, 17:31
Ответы с готовыми решениями:

Получить все шестизначные счастливые номера
Получить все шестизначные счастливые номера. Счастливым называют такое шестизначное число, в...

Получить все шестизначные счастливые номера меньшие n
2 Получить все шестизначные счастливые номера меньшие n. Счастливым называют такое шестизначное...

Получить все шестизначные счастливые номера. Задание с функцией
Получить все шестизначные счастливые номера. Счастливым называется номер, у которого сумма первых...

Получить три шестизначные счастливые номера
Получить три шестизначные счастливые номера. Счастливым называют такое шестизначное число, в...

2
2848 / 1997 / 986
Регистрация: 21.12.2010
Сообщений: 3,705
Записей в блоге: 10
15.02.2015, 18:16 2
Лучший ответ Сообщение было отмечено Hazrat как решение

Решение

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 <sstream>
#include <string>
#include <algorithm>
#include <numeric>
 
int main()
{
    std::stringstream ss;
    for(int i = 100000; i <= 999999; ++i)
    {
        ss << i;
        std::string str = ss.str();
        ss.str("");
        std::string first = str.substr(0, 3), second = str.substr(3, 3);
        int iFirst = std::accumulate(first.begin(), first.end(), int(0));
        int iSecond = std::accumulate(second.begin(), second.end(), int(0));
        if(iFirst == iSecond) std::cout << str << '\n';
    }
    return 0;
}
1
542 / 163 / 79
Регистрация: 23.09.2013
Сообщений: 316
15.02.2015, 18:41 3
Слегка измененная версия igorrr37-а, на мой взгляд более каноничная:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>
#include <string>
#include <numeric>
 
int main() {
  for (int i = 100000; i < 1000000; ++i) {
    std::string str = std::to_string(i);
    auto middle = std::next(str.begin(), str.size() / 2);
    if (std::accumulate(str.begin(), middle, int(0)) ==
        std::accumulate(middle, str.end(), int(0))) {
      std::cout << str << '\n';
    }
  }
}
Пруф работоспособности:
http://ideone.com/3sl66j
0
15.02.2015, 18:41
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.02.2015, 18:41
Помогаю со студенческими работами здесь

Найти все шестизначные счастливые числа (исправить код)
Задание: Найти все шестизначные счастливые числа. Счастливое число - это число, у которого сумма...

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

Функция находящая все предложения заданного типа
В заданном рядке определить все вопросительные предложения. То есть определить их кол-во.

Функция находящая все делители натурального числа
Дано натуральное число. Найти все его делители. Подсчитать их количество. Найти сумму всех...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru