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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 4.91
minowa
0 / 0 / 0
Регистрация: 13.06.2013
Сообщений: 27
#1

Найти все трехзначные числа, которые состоят из разных цифр, а их сумма равна А - C++

18.06.2013, 18:55. Просмотров 1474. Ответов 18
Метки нет (Все метки)

Найти все трехзначные числа, которые состоят из разных цифр, а их сумма равна А (А вводится с клавиатуры).
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.06.2013, 18:55     Найти все трехзначные числа, которые состоят из разных цифр, а их сумма равна А
Посмотрите здесь:

Найти все трёхзначные числа, которые состоят из разных цифр, а их сумма равна заданному числу - C++
Помогите решить в С++ 2.2 Найти все трехзначные числа, которые состоят из разных цифр, а их сумма равна А (А вводится с клавиатуры).

Найти все трехзначные числа, состоящие из разных цифр, сумма которых равна А - C++
Найти все трехзначные числа, которые состоят из разных цифр, а их сумма ровна А (число А вводится с клавиатуры).

Найти все трехзначные числа, такие, что сумма цифр равна А, а само число делиться на B - C++
помоги плиз, составить программу вывода кубов от 1 до 25, подсчитать их сумму

Получить все трехзначные натуральные числа, сумма цифр которых равна 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...

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

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

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Genn55
360 / 207 / 39
Регистрация: 26.12.2012
Сообщений: 694
18.06.2013, 23:42     Найти все трехзначные числа, которые состоят из разных цифр, а их сумма равна А #2
Если правильно понял
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
 
using namespace std;
 
int main()
{
int A;
cout <<" Enter A"<<"\n";
cin >> A;
for (int i = 1; i < 9; ++i)
for (int j = 0; j < 10; ++j)
for (int k = 0; k < 10; ++k)
if ((i+j+k == A)&&((i != j)&&(j != k)&&(i != k)))
cout << i << j << k << "\n";
 
return 0;
}
minowa
0 / 0 / 0
Регистрация: 13.06.2013
Сообщений: 27
19.06.2013, 00:22  [ТС]     Найти все трехзначные числа, которые состоят из разных цифр, а их сумма равна А #3
тута вроде как результат нигде не выявляет?!
Genn55
360 / 207 / 39
Регистрация: 26.12.2012
Сообщений: 694
19.06.2013, 00:31     Найти все трехзначные числа, которые состоят из разных цифр, а их сумма равна А #4
Допишите после
C++
1
2
cout <<" Enter A"<<"\n";
cin >> A;
такую строку
C++
1
cout <<"     Otvet   "<<"\n\n";
minowa
0 / 0 / 0
Регистрация: 13.06.2013
Сообщений: 27
19.06.2013, 12:38  [ТС]     Найти все трехзначные числа, которые состоят из разных цифр, а их сумма равна А #5
не все равно нету
Genn55
360 / 207 / 39
Регистрация: 26.12.2012
Сообщений: 694
19.06.2013, 14:52     Найти все трехзначные числа, которые состоят из разных цифр, а их сумма равна А #6
Результат работы.
У меня стоит кодеблок 10.05,если у вас что то другое заголовки наверное будут другими и в конце программы тоже.Я с другими средами не работал и точно не скажу.Делайте как обычно вы делаете в своей среде.
Вложения
Тип файла: docx скрин 19.docx (22.3 Кб, 13 просмотров)
MrGluck
Модератор
Эксперт CЭксперт С++
7000 / 4171 / 595
Регистрация: 29.11.2010
Сообщений: 11,075
19.06.2013, 14:58     Найти все трехзначные числа, которые состоят из разных цифр, а их сумма равна А #7
Дело в том, что IDE CodeBlocks удерживает консоль после завершения работы программы. VS, например, этого не делает и требует явно указать паузу. system("pause") (#include <cstdlib>) либо _getch() (#include <conio.h>)


Genn55, обычно скрины делают как картинки. Для того, чтобы вставить их в текст, необходимо после загрузки нажать еще раз на кнопку "Вложения" и выбрать их из списка.
minowa
0 / 0 / 0
Регистрация: 13.06.2013
Сообщений: 27
19.06.2013, 15:10  [ТС]     Найти все трехзначные числа, которые состоят из разных цифр, а их сумма равна А #8
у меня Microsoft Visual Studio 2010 Ultimate
делала все как надо
вот что в окне у меня
Миниатюры
Найти все трехзначные числа, которые состоят из разных цифр, а их сумма равна А  
minowa
0 / 0 / 0
Регистрация: 13.06.2013
Сообщений: 27
19.06.2013, 15:11  [ТС]     Найти все трехзначные числа, которые состоят из разных цифр, а их сумма равна А #9
Genn55, для скриншотов могу посоветовать FastStone Capture
MrGluck
Модератор
Эксперт CЭксперт С++
7000 / 4171 / 595
Регистрация: 29.11.2010
Сообщений: 11,075
19.06.2013, 15:23     Найти все трехзначные числа, которые состоят из разных цифр, а их сумма равна А #10
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
#include <clocale>
#include <conio.h>
 
int main()
{
    setlocale(LC_ALL, "");
    int A;
    std::cout <<"Введита А: ";
    std::cin >> A;
    for (int i = 1; i < 9; ++i)
        for (int j = 0; j < 10; ++j)
            for (int k = 0; k < 10; ++k)
                if (i + j + k == A && i != j && j != k && i != k)
                    std::cout << i << j << k << "\n";
    _getch();
}
Вам количество требуется?
minowa
0 / 0 / 0
Регистрация: 13.06.2013
Сообщений: 27
19.06.2013, 15:27  [ТС]     Найти все трехзначные числа, которые состоят из разных цифр, а их сумма равна А #11
ДА не вроде ? Про количество ни чего не сказано)))

Цитата Сообщение от minowa Посмотреть сообщение
Найти все трехзначные числа, которые состоят из разных цифр, а их сумма равна А (А вводится с клавиатуры).
Genn55
360 / 207 / 39
Регистрация: 26.12.2012
Сообщений: 694
19.06.2013, 19:51     Найти все трехзначные числа, которые состоят из разных цифр, а их сумма равна А #12
Это у меня
Миниатюры
Найти все трехзначные числа, которые состоят из разных цифр, а их сумма равна А  
ValeryS
Модератор
6542 / 5008 / 461
Регистрация: 14.02.2011
Сообщений: 16,656
19.06.2013, 19:56     Найти все трехзначные числа, которые состоят из разных цифр, а их сумма равна А #13
Цитата Сообщение от Genn55 Посмотреть сообщение
for (int i = 1; i < 9; ++i)
А почему первое число 1.....8?
Thinker
Эксперт C++
4221 / 2195 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
19.06.2013, 20:05     Найти все трехзначные числа, которые состоят из разных цифр, а их сумма равна А #14
с меньшим количеством проверок:
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<stdio.h>
#define MAX(x,y) ((x) > (y) ? (x) : (y))
#define MIN(x,y) ((x) < (y) ? (x) : (y))
int Print(int a)
{
   int i, j, k, n1 = 0, n2 = 0;
   if(a < 6 || a > 24)
      return 0;
   for(i = MAX(1, a - 17); i <= MIN(7, a - 5); ++i)
      for(j = i + 1; j <= MIN(8, a - i - 3); ++j)
         for(k = j + 1; k <= MIN(9, a - i - j); ++k)
            if (i + j + k == a)
            {
               printf("%d%d%d\n", i, j, k);
               printf("%d%d%d\n", i, k, j);
               printf("%d%d%d\n", j, i, k);
               printf("%d%d%d\n", j, k, i);
               printf("%d%d%d\n", k, i, j);
               printf("%d%d%d\n", k, j, i);
            }
}
 
int main(int argc, char* argv[])
{
   Print(15);
   return 0;
}
Добавлено через 8 минут
Эммм... только для чисел, не содержащих цифру 0...
minowa
0 / 0 / 0
Регистрация: 13.06.2013
Сообщений: 27
19.06.2013, 23:40  [ТС]     Найти все трехзначные числа, которые состоят из разных цифр, а их сумма равна А #15
Спасибо всем)
Genn55
360 / 207 / 39
Регистрация: 26.12.2012
Сообщений: 694
20.06.2013, 02:13     Найти все трехзначные числа, которые состоят из разных цифр, а их сумма равна А #16
Thinker, вы правы в этом цикле у меня ошибка
C++
1
for (int i = 1; i < 9; ++i)
правильно будет
C++
1
for (int i = 1; i <= 9; ++i)
Я с вашего позволения подправил ваш код,если я все правильно понял то он работает и с 0.0 же тоже цифра.
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
28
29
30
31
32
33
34
35
36
37
#include <iostream>
#include<stdio.h>
using namespace std;
 
#define MAX(x,y) ((x) > (y) ? (x) : (y))
#define MIN(x,y) ((x) < (y) ? (x) : (y))
void Print(int a);
 
int main()
{
int a;
cout << " Enter A"<<"\n";
cin >> a;
cout << "   Otvet  " << "\n\n";
Print(a);
return 0;
}
void Print(int a)
{
    {
   int i, j, k;
   if(a < 3 || a > 24)
   cout << " No!!"<<"\n";
    for(i = MAX(0, a - 20); i <= MIN(7, a - 2); ++i)
      for(j = i + 1; j <= MIN(8, a - i - 1); ++j)
         for(k = j + 1; k <= MIN(9, a - i - j); ++k)
            if (i + j + k == a)
            {
               printf("%d%d%d\n", i, j, k);
               printf("%d%d%d\n", i, k, j);
               printf("%d%d%d\n", j, i, k);
               printf("%d%d%d\n", j, k, i);
               printf("%d%d%d\n", k, i, j);
               printf("%d%d%d\n", k, j, i);
            }
}
}
Но в этом случае выигрыша я не заметил.Возможно будет заметно при больших числах.И вы не смогли бы мне по простому на пальцах объяснить работу макрокоманд.Я новичок в программировании, изучаю самостоятельно и спрашивать не у кого.Читаю ,но пока толку мало.Пробовал сам создать макрокоманду ничего не получилось,а готовые работают.
C++
1
2
#define MAX(x,y) ((x) > (y) ? (x) : (y))
#define MIN(x,y) ((x) < (y) ? (x) : (y))
Смысл понятен,а как они работают в программе так и не понял и в каких случаях их применять тоже пока не понимаю.Если не трудно пожалуйста объясните.
MrGluck
Модератор
Эксперт CЭксперт С++
7000 / 4171 / 595
Регистрация: 29.11.2010
Сообщений: 11,075
20.06.2013, 02:34     Найти все трехзначные числа, которые состоят из разных цифр, а их сумма равна А #17
Genn55, это макросы с тернарным оператором. Переменные в макросах записываются в круглые скобки, а дальше, после того, как прочтете про тернарный оператор, все поймете.

Просто когда компиль встречает выражение, идущее за define, оно заменяет его тем, что идет правее.
Genn55
360 / 207 / 39
Регистрация: 26.12.2012
Сообщений: 694
20.06.2013, 02:55     Найти все трехзначные числа, которые состоят из разных цифр, а их сумма равна А #18
Тернарный оператор это вот это?
C++
1
((x) > (y) ? (x) : (y))
Это выражение я понимаю так:если x > y x = y иначе x = x; верно?
что выражение, идущее за define, оно заменяет его тем, что идет правее,причем всегда это я тоже понял.Ну а в чем разница если я напишу такую же функцию и применю к ней inline инструкцию в чем будет разница?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.06.2013, 03:08     Найти все трехзначные числа, которые состоят из разных цифр, а их сумма равна А
Еще ссылки по теме:

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

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

Найти все простые числа, имеющие возрастающую последовательность цифр, сумма которых равна M - C++
Здравствуйте, дорогие форумчане. В очередной раз обращаюсь к вам за помощью. Нужно написать программу. Вот задание: Для натуральных...

Обработка целых данных (найти все простые числа, имеющие возрастающую последовательность, сумма цифр которых равна M) - C++
Здравствуйте, дорогие форумчане. Мне нужна ваша помощь. Как реализовать данную программу? для натуральных чисел не превосходящих...

Помочь доделать программу (найти все простые числа, имеющие возрастающую последовательность цифр, сумма которых равна M) - C++
Здравствуйте, дорогие форумчане. ----------------------------------- Мне нужна ваша помощь. Вот, собственно, задание: Для всех...


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

Или воспользуйтесь поиском по форуму:
MrGluck
Модератор
Эксперт CЭксперт С++
7000 / 4171 / 595
Регистрация: 29.11.2010
Сообщений: 11,075
20.06.2013, 03:08     Найти все трехзначные числа, которые состоят из разных цифр, а их сумма равна А #19
Genn55, это означает вот что:
если x > y, то x, иначе y
Yandex
Объявления
20.06.2013, 03:08     Найти все трехзначные числа, которые состоят из разных цифр, а их сумма равна А
Ответ Создать тему
Опции темы

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