Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/5: Рейтинг темы: голосов - 5, средняя оценка - 5.00
Misha2018
0 / 0 / 0
Регистрация: 06.03.2016
Сообщений: 15
1

Определить количество трехзначных натуральных чисел, сумма цифр которых равна данному числу

17.03.2016, 09:32. Просмотров 878. Ответов 10
Метки нет (Все метки)

 Комментарий модератора 
П. 5.4. Правил
Запрещено создавать темы с бессмысленными названиями вроде "Помогите!", "Вопрос" и т.п.

Определить количество трехзначных натуральных чисел, сумма цифр которых равна данному числу N.
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.03.2016, 09:32
Ответы с готовыми решениями:

Определить количество трехзначных натуральных чисел, сумма цифр которых равна заданному числу N
Определить количество трехзначных натуральных чисел, сумма цифр которых равна...

Определить количество натуральных трехзначных чисел, сумма цифр которых равна заданному числу N
1. Определить количество натуральных трехзначных чисел, сумма цифр которых...

Определить количество трехзначных чисел, сумма цифр которых равна определенному числу
Определить количество трехзначных натуральных чисел, сумма цифр которых равна...

Определить количество трёхзначных натуральных чисел сумма цифр которых равна заданному числу
Всем Привет! Помогите пожалуйста написать простенькую программу без сильно...

Цикл с параметром; Определить количество трехзначных чисел сумма которых равна заданному числу N
Цикл с параметром; Определить количество трехзначных чисел сумма которых равна...

10
dcshowcousa
26 / 18 / 97
Регистрация: 22.10.2015
Сообщений: 303
17.03.2016, 10:59 2
Лучший ответ Сообщение было отмечено Misha2018 как решение

Решение

C++
1
2
3
4
5
6
7
cin>>N;
Count=0;
for(int i1=0; i1<=9; i1++)
 for(int i2=0; i2<=9; i2++)
  for(int i3=0; i3<=9; i3++)
   if(i1+i2+i3==0)
     Count++;
0
Байт
Эксперт C
19167 / 12318 / 2596
Регистрация: 24.12.2010
Сообщений: 25,289
17.03.2016, 12:35 3
dcshowcousa, Что сделает ваш код можно узнать, ничего не запуская. Он эквивалентен одной строчке
C++
1
Count = 1;
0
-ДоМоВоЙ-
147 / 146 / 124
Регистрация: 19.01.2016
Сообщений: 576
Записей в блоге: 1
Завершенные тесты: 1
17.03.2016, 12:37 4
dcshowcousa, а что ваш код делает? И какую роль играет ввод N?
0
SpBerkut
Объявлятель переменных
948 / 274 / 276
Регистрация: 24.09.2011
Сообщений: 1,009
Завершенные тесты: 2
17.03.2016, 12:57 5
C++
1
2
3
4
5
6
7
8
int x[27] = {1, 3, 6, 10, 15, 21, 28, 36, 45, 54, 61, 66, 69, 70, 69, 66, 61, 54, 45, 36, 28, 21, 15, 10, 6, 3, 1};
 
int main()
{
  int n;
  cout << "n = "; cin >> n;
  cout << "x = " << ((n<28 && n>0) ? x[n-1] : 0);
}
2
Байт
Эксперт C
19167 / 12318 / 2596
Регистрация: 24.12.2010
Сообщений: 25,289
17.03.2016, 13:06 6
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
int SumFigure(int n)
{ int Count = 0;
  while(n) {
     Count += n%10;
     n /= 10;
  }
  return Count;
}
int main()
{  int N;
   cin >> N;
   int Count = 0;
   for(int i=100; i<=999; i++)
     if (SumFigure(i)==N) Count ++;
   cout << Count;
}
Добавлено через 8 минут
SpBerkut, Остроумно.Могу предложить небольшую модификацию вашего кода
C++
1
2
3
4
5
6
7
8
int x[14] = {1, 3, 6, 10, 15, 21, 28, 36, 45, 54, 61, 66, 69, 70 };
int main()
{
  int n;
  cout << "n = "; cin >> n;
  if (n >14) n = 28 - n
  cout << "x = " << ((n<15 && n>0) ? x[n-1] : 0);
}
1
SpBerkut
Объявлятель переменных
948 / 274 / 276
Регистрация: 24.09.2011
Сообщений: 1,009
Завершенные тесты: 2
17.03.2016, 22:49 7
C++
1
2
3
4
5
6
int main() {
  int n = 0;
  cout << "n = "; cin >> n;
  if (n > 14) n -= (n-14)*2;
  cout << (n>0?(n<10)?r=n*(n+1)/2:45+(19-n)*(n-9):0);
}
1
dcshowcousa
26 / 18 / 97
Регистрация: 22.10.2015
Сообщений: 303
18.03.2016, 03:15 8
Байт, Ой =)
C++
1
if(i1+i2+i3==N)
0
Байт
Эксперт C
19167 / 12318 / 2596
Регистрация: 24.12.2010
Сообщений: 25,289
18.03.2016, 10:01 9
Цитата Сообщение от dcshowcousa Посмотреть сообщение
Байт, Ой =)
Да, я догадался, что это, конечно, описка. Но мне не нравится сам подход. Вы заводите переменных столько, сколько цифр. А что, если вам дадут аналогичную задачу для 4-х цифр? А потом для 5-ти? Так и будете плодить однотипные коды? В программировании считается хорошим тоном создать такой код, чтоб он без изменений решал как можно более широкий набор задач.
Надеюсь, простите мне эти нравоучения.
0
dcshowcousa
26 / 18 / 97
Регистрация: 22.10.2015
Сообщений: 303
18.03.2016, 10:38 10
Байт,
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
#include<iostream>
using namespace std;
const int A = 4, N = 7;
int index[A], sum, total = 0;
void foo(int n);
void main()
{
    foo(A);
    cout << total << endl;
    system("pause");
}
void foo(int n)
{
    if (!n)
    {
        sum = 0;
        for (int i = 0; i < A; i++)
            sum += index[i];
        if (sum == N)
            total++;
        return;
    }
    --n;
    for (index[n] = 0; index[n] <= N - A + 1; index[n]++)
        foo(n);
}
0
GbaLog-
18.03.2016, 10:46     Определить количество трехзначных натуральных чисел, сумма цифр которых равна данному числу
  #11

Не по теме:

Байт, А как же правило 1 функция = 1 задача? Или имеется ввиду, что она должна уметь решать одну задачу с разными вариациями?

0
18.03.2016, 10:46
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.03.2016, 10:46
Привет! Вот еще темы с ответами:

Определить количество трехзначных чисел, сумма цифр которых равна n
Вот такую задачку задали в универе: Вообщем,допустим я ввожу число 5,мне...

Среди всех n-значных чисел указать те, сумма цифр которых равна данному числу k.
Среди всех n-значных чисел указать те, сумма цифр которых равна данному числу...

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


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

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

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