|
Десятизначное число | ☑ | ||
---|---|---|---|---|
0
Ненавижу 1С
гуру
15.07.13
✎
16:11
|
Дано десятизначное число. Первая цифра равна числу нулей в нем, вторая - числу единиц в нем и т.д., последняя - числу девяток в нем.
Требуется найти это число. |
|||
1
drcrasher
15.07.13
✎
16:12
|
9000000000
|
|||
2
drcrasher
15.07.13
✎
16:12
|
следующий
|
|||
3
Fish
15.07.13
✎
16:13
|
(1) Неправильно: "последняя - числу девяток в нем"
|
|||
4
Пенза58
15.07.13
✎
16:13
|
(1) Количества девяток нет
|
|||
5
salvator
15.07.13
✎
16:14
|
910000000001
|
|||
6
Молодой 1Снег
15.07.13
✎
16:14
|
8000000010
|
|||
7
пипец
15.07.13
✎
16:14
|
||||
8
salvator
15.07.13
✎
16:14
|
аа, десятизначное..
|
|||
9
Fish
15.07.13
✎
16:15
|
6210001000
|
|||
10
drcrasher
15.07.13
✎
16:16
|
(3) тогда
6210001000 |
|||
11
drcrasher
15.07.13
✎
16:16
|
(10) тормоз!
|
|||
12
Молодой 1Снег
15.07.13
✎
16:16
|
(6) Неверно :(
|
|||
13
Ненавижу 1С
гуру
15.07.13
✎
16:21
|
(9)(10) интересует решение, как нашли?
|
|||
14
drcrasher
15.07.13
✎
16:22
|
(13) перебор не предлагать?
|
|||
15
KnightAlone
15.07.13
✎
16:23
|
(13) еснно перебором)))
|
|||
16
KnightAlone
15.07.13
✎
16:23
|
выползли из под тонны бумаги с криком 6210001000! )))
|
|||
17
drcrasher
15.07.13
✎
16:24
|
9000000000 - есть 9, значит в последний разряд - 1 (рассуждения примерно одинановые)
8000000010 8100000010 7200000100 6210001000 примерно так |
|||
18
Ненавижу 1С
гуру
15.07.13
✎
16:25
|
(14)(15) не красиво
|
|||
19
KnightAlone
15.07.13
✎
16:26
|
(17) не, так не пойдет.
должно быть так: 9999999999 не подошло 9999999998 не подошло 9999999997 не подошло и тд ) |
|||
20
Кай066
15.07.13
✎
16:27
|
2022222220 - подходит?
|
|||
21
drcrasher
15.07.13
✎
16:27
|
(18) писать обработку под это дело не вижу смысла =)
|
|||
22
Кай066
15.07.13
✎
16:28
|
(20) гоню
|
|||
23
Fish
15.07.13
✎
16:28
|
(13) см Задача №55. http://tvad.petrsu.ru/olymp/solved/1.htm Там подробно расписано решение.
|
|||
24
KnightAlone
15.07.13
✎
16:28
|
(20) facepalm
|
|||
25
Fish
15.07.13
✎
16:39
|
Вот, кстати ещё вариант решения:
int a[10]; void f(int left, int pos) { if (pos == 10) { if (left == 0) { int b[11]; memset(b, 0, sizeof(a)); for(int i = 0; i < 10; i++) { ++b[a[i]]; } if (memcmp(a, b, sizeof(a)) == 0) { for (int i = 0; i < 10; i++) { cout << a[i]; } cout << "\n"; } } } else { for (int i = 0; i <= left; i++) { a[pos] = i; f(left - i, pos + 1); } } } int main() { f(10, 0); return 0; } |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |