Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

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

Найти все натуральные числа из промежутка от 1 до 200, у которых сумма цифр равна S - C++

26.10.2015, 07:19. Просмотров 648. Ответов 7
Метки нет (Все метки)

Найти все натуральные числа из промежутка от 1 до 200, у
которых сумма цифр равна S (S вводить с клавиатуры).
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.10.2015, 07:19
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Найти все натуральные числа из промежутка от 1 до 200, у которых сумма цифр равна S (C++):

Найти все натуральные числа из промежутка от 1 до 200, у которых сумма делителей равна S - C++
Найти все натуральные числа из промежутка от 1 до 200, у которых сумма делителей равна S. (S вводить с клавиатуры) #include <stdio.h> ...

Найти все натуральные числа из промежутка от 1 до 200, у которых сумма чётных делителей равна N - C++
Нужна помощь,срочно!!!!!надо программы написать,они не большие,для знающих людей решаются за 5-7 минут!!Заранее спасибо... 1)Найти все...

Найти все натуральные числа из промежутка от 1 до 200, у которых сумма четных делителей равна N (проверить) - C++
Найти все натуральные числа из промежутка от 1 до 200, у которых сумма четных делителей равна N #include "stdafx.h" #include...

Найти все натуральные числа из промежутка от 1 до 200, у которых количество делителей равно N - C++
Найти все натуральные числа из промежутка от 1 до 200, у которых количество делителей равно N (N вводить с клавиатуры).

Получить все трехзначные натуральные числа, сумма цифр которых равна m - C++
var m, n, s, i: integer; begin write('Введите m (m<27): '); readln(m); for i:= 100 to 999 do begin s:= 0; n:= i; ...

Получить все трехзначные натуральные числа, сумма цифр которых равна n - C++
дано натуральное число <=27 найти все трёхзначные числа сумма цифр которых равна n не используя mod и div помогите пожалуйста в Pascal...

7
Redzep
197 / 133 / 54
Регистрация: 21.12.2014
Сообщений: 369
26.10.2015, 09:55 #2
C++
1
2
3
    int S;
    cin >> S;
    for (int i = 1; i <=200; i++) if ((i/100)+((i/10)%10)+(i%10)==S) cout << i << endl;
0
MicM
822 / 480 / 90
Регистрация: 29.12.2009
Сообщений: 1,097
Завершенные тесты: 1
26.10.2015, 10:08 #3
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
#include <iostream>
 
int sum_digits (int n)
{
    int result = 0;
    while (n!=0)
    {
        result += n % 10;
        n /= 10;
    }
    return result;
}
 
int main()
{
    int S;
    std::cin >> S;
    for (int i = 1; i <= 200; i++)
    {
        if (sum_digits (i) == S)
        {
            std::cout << i << "\n";
        }
    }
}
0
AlexVRud
459 / 170 / 44
Регистрация: 04.07.2014
Сообщений: 475
26.10.2015, 11:05 #4
Зачем что-то проверять, когда можно просто построить ряд:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream>
 
int main() {
 
  for(int a3=0; a3<2; ++a3) {
    for(int a2=0; (a3+a2)<=5; ++a2) {
      int a1 = 5-a2-a3;
      int n = ((a3*10)+a2)*10+a1;
      std::cout << n << std::endl;
    }
  }
  return 0;
}
1
Redzep
197 / 133 / 54
Регистрация: 21.12.2014
Сообщений: 369
26.10.2015, 11:15 #5
Цитата Сообщение от AlexVRud Посмотреть сообщение
Зачем что-то проверять, когда можно просто построить ряд:
Зачем строить какие-то ряды, когда можно просто проверить сумму?
0
_Ivana
3185 / 1801 / 153
Регистрация: 01.03.2013
Сообщений: 5,030
Записей в блоге: 3
26.10.2015, 14:38 #6
Цитата Сообщение от Redzep Посмотреть сообщение
Зачем строить какие-то ряды, когда можно просто проверить сумму?
Чтобы тупым не быть, компьютер не мучать, ракеты чтоб летали точнее, приложения не зависали и т.п. - выбирайте на ваш вкус.
0
daslex
1284 / 528 / 109
Регистрация: 02.08.2011
Сообщений: 2,750
26.10.2015, 14:50 #7
Цитата Сообщение от AlexVRud Посмотреть сообщение
Зачем что-то проверять, когда можно просто построить ряд:
Только дорабатывать надо. У Вас ряд хорошо строится, только мало того, что новичкам непонятен, так еще текущая версия проигрывает обычному перебору цифр в итоговом результате. Задавать разные S даже до 18 и пойдут косяки.

А так, конечно, если есть возможность генерации, разумеется надо генерировать.
0
Vtulhu
371 / 377 / 96
Регистрация: 12.08.2011
Сообщений: 1,610
26.10.2015, 15:05 #8
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
 
using namespace std;
 
bool check_sum(int n, int s) {
    while (n != 0) {
        s -= n % 10;
        if (s < 0) { return false; }
        n /= 10;
    }
    return s == 0;
}
 
int main()
{
    int s;
    cin >> s;
    for (int i = 1; i <= 200; i++) {
        if (check_sum(i, s)) { cout << i << endl; }
    }
    return 0;
}
0
26.10.2015, 15:05
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.10.2015, 15:05
Привет! Вот еще темы с ответами:

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

Найти все целые числа из промежутка от 100 до 300, у которых сумма делителей равна k - C++
Найти все целые числа из промежутка от 100 до 300, у которых сумма делителей равна k. Не понимаю, где ошибка в коде.

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

Найти все натуральные числа от 1 до n, суммы квадратов цифр которых равна самому числу - C++
Найти все натуральные числа от 1 до n, сумма квадратов цифр которых равна самому числу Помогите пожалуйста,или проверьте) #include...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

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