Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 12.10.2013, 18:39   #11
rrrFer
Санитар
Старожил
 
Аватар для rrrFer
 
Регистрация: 04.10.2008
Сообщений: 2,577
По умолчанию

опять мой ответ не входит в форму.
Администраторы, прошу вас, разрешите большие сообщения, почему форум не принимает мой хороший код?
Цитата:
Вы ввели слишком длинный текст (83233 символов). Пожалуйста, сократите его до 5000 символов.
прикрепляю файлом:
Вложения
Тип файла: zip main.cpp.zip (12.2 Кб, 11 просмотров)
rrrFer вне форума Ответить с цитированием
Старый 12.10.2013, 20:59   #12
dykee
Пользователь
 
Регистрация: 09.10.2013
Сообщений: 78
По умолчанию

Здравствуйте Не могли бы вы мне помочь?! Задание: Дано двузначное число. Определить кратна ли сумма его цифр числу а.язык Си не могу подобрать формулу...
dykee вне форума Ответить с цитированием
Старый 12.10.2013, 21:01   #13
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,430
По умолчанию

Цитата:
Сообщение от East Undia Trading Посмотреть сообщение
А как написать программу для значений от 1000 до 9999
Так в основном для этого диапазона и приведены решения (например, решения rrrFer и HEDO4EJIOBEK). Другое дело, как оптимизировать циклы.
Без if'ов:
Код:
#include <stdio.h>

int
main()
{
    int a, b, c, d;
    for (a = 1; a < 10; ++a) {
        for (b = 0; b < a; ++b) {
            for (c = 0; c < b; ++c) {
                for (d = 0; d < c; ++d)
                    printf("%d%d%d%d\n", a, b, c, d);
                for (d = c + 1; d < b; ++d)
                    printf("%d%d%d%d\n", a, b, c, d);
                for (d = b + 1; d < a; ++d)
                    printf("%d%d%d%d\n", a, b, c, d);
                for (d = a + 1; d < 10; ++d)
                    printf("%d%d%d%d\n", a, b, c, d);
            }
            for (c = b + 1; c < a; ++c) {
                for (d = 0; d < b; ++d)
                    printf("%d%d%d%d\n", a, b, c, d);
                for (d = b + 1; d < c; ++d)
                    printf("%d%d%d%d\n", a, b, c, d);
                for (d = c + 1; d < a; ++d)
                    printf("%d%d%d%d\n", a, b, c, d);
                for (d = a + 1; d < 10; ++d)
                    printf("%d%d%d%d\n", a, b, c, d);
            }
            for (c = a + 1; c < 10; ++c) {
                for (d = 0; d < b; ++d)
                    printf("%d%d%d%d\n", a, b, c, d);
                for (d = b + 1; d < a; ++d)
                    printf("%d%d%d%d\n", a, b, c, d);
                for (d = a + 1; d < c; ++d)
                    printf("%d%d%d%d\n", a, b, c, d);
                for (d = c + 1; d < 10; ++d)
                    printf("%d%d%d%d\n", a, b, c, d);
            }
        }
        for (b = a + 1; b < 10; ++b) {
            for (c = 0; c < a; ++c) {
                for (d = 0; d < c; ++d)
                    printf("%d%d%d%d\n", a, b, c, d);
                for (d = c + 1; d < a; ++d)
                    printf("%d%d%d%d\n", a, b, c, d);
                for (d = a + 1; d < b; ++d)
                    printf("%d%d%d%d\n", a, b, c, d);
                for (d = b + 1; d < 10; ++d)
                    printf("%d%d%d%d\n", a, b, c, d);
            }
            for (c = a + 1; c < b; ++c) {
                for (d = 0; d < a; ++d)
                    printf("%d%d%d%d\n", a, b, c, d);
                for (d = a + 1; d < c; ++d)
                    printf("%d%d%d%d\n", a, b, c, d);
                for (d = c + 1; d < b; ++d)
                    printf("%d%d%d%d\n", a, b, c, d);
                for (d = b + 1; d < 10; ++d)
                    printf("%d%d%d%d\n", a, b, c, d);
            }
            for (c = b + 1; c < 10; ++c) {
                for (d = 0; d < a; ++d)
                    printf("%d%d%d%d\n", a, b, c, d);
                for (d = a + 1; d < b; ++d)
                    printf("%d%d%d%d\n", a, b, c, d);
                for (d = b + 1; d < c; ++d)
                    printf("%d%d%d%d\n", a, b, c, d);
                for (d = c + 1; d < 10; ++d)
                    printf("%d%d%d%d\n", a, b, c, d);
            }
        }
    }
    return 0;
}
А можно с помощью функции proverka из поста cat_in_flat:
Код:
#include <stdio.h>
...
int
main()
{
    int i;
    for (i = 1000; i < 10000; ++i)
        if (proverka(i))
            printf("%d\n", i);
    return 0;
}
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Старый 12.10.2013, 21:10   #14
rrrFer
Санитар
Старожил
 
Аватар для rrrFer
 
Регистрация: 04.10.2008
Сообщений: 2,577
По умолчанию

Цитата:
Так в основном для этого диапазона и приведены решения (например, решения rrrFer и HEDO4EJIOBEK). Другое дело, как оптимизировать циклы.
ненадо оптимизировать то, чего нет. В моем решении нет циклов.
rrrFer вне форума Ответить с цитированием
Старый 12.10.2013, 21:14   #15
dykee
Пользователь
 
Регистрация: 09.10.2013
Сообщений: 78
По умолчанию

Здравствуйте Не могли бы вы мне помочь?! Задание: Дано двузначное число. Определить кратна ли сумма его цифр числу а.язык Си не могу подобрать формулу...
dykee вне форума Ответить с цитированием
Старый 12.10.2013, 21:21   #16
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,430
По умолчанию

rrrFer, ну да, но не всегда легко "забиндить" ответ
dykee, отслеживайте все темы, где оставляете посты
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Старый 12.10.2013, 21:22   #17
rrrFer
Санитар
Старожил
 
Аватар для rrrFer
 
Регистрация: 04.10.2008
Сообщений: 2,577
По умолчанию

dykee
Цитата:
Здравствуйте Не могли бы вы мне помочь?! Задание: Дано двузначное число. Определить кратна ли сумма его цифр числу а.язык Си не могу подобрать формулу...
надо было создать новую тему для своего вопроса.
сумма цифр двузначного числа лежит в диапазоне 1-18. Для всех этих чисел сумма цифр не кратна числу.
Число иногда кратно сумме цифр - если задание именно такое - то вот:
Код:
#include <iostream>

int main() {
  int n;
  std::cin >> n;
  switch (n) {
    case 10: std::cout << "yes"; break;
    case 11: std::cout << "no"; break;
    case 12: std::cout << "yes"; break;
    case 13: std::cout << "no"; break;
    case 14: std::cout << "no"; break;
    case 15: std::cout << "no"; break;
    case 16: std::cout << "no"; break;
    case 17: std::cout << "no"; break;
    case 18: std::cout << "yes"; break;
    case 19: std::cout << "no"; break;
    case 20: std::cout << "yes"; break;
    case 21: std::cout << "yes"; break;
    case 22: std::cout << "no"; break;
    case 23: std::cout << "no"; break;
    case 24: std::cout << "yes"; break;
    case 25: std::cout << "no"; break;
    case 26: std::cout << "no"; break;
    case 27: std::cout << "yes"; break;
    case 28: std::cout << "no"; break;
    case 29: std::cout << "no"; break;
    case 30: std::cout << "yes"; break;
    case 31: std::cout << "no"; break;
    case 32: std::cout << "no"; break;
    case 33: std::cout << "no"; break;
    case 34: std::cout << "no"; break;
    case 35: std::cout << "no"; break;
    case 36: std::cout << "yes"; break;
    case 37: std::cout << "no"; break;
    case 38: std::cout << "no"; break;
    case 39: std::cout << "no"; break;
    case 40: std::cout << "yes"; break;
    case 41: std::cout << "no"; break;
    case 42: std::cout << "yes"; break;
    case 43: std::cout << "no"; break;
    case 44: std::cout << "no"; break;
    case 45: std::cout << "yes"; break;
    case 46: std::cout << "no"; break;
    case 47: std::cout << "no"; break;
    case 48: std::cout << "yes"; break;
    case 49: std::cout << "no"; break;
    case 50: std::cout << "yes"; break;
    case 51: std::cout << "no"; break;
    case 52: std::cout << "no"; break;
    case 53: std::cout << "no"; break;
    case 54: std::cout << "yes"; break;
    case 55: std::cout << "no"; break;
    case 56: std::cout << "no"; break;
    case 57: std::cout << "no"; break;
    case 58: std::cout << "no"; break;
    case 59: std::cout << "no"; break;
    case 60: std::cout << "yes"; break;
    case 61: std::cout << "no"; break;
    case 62: std::cout << "no"; break;
    case 63: std::cout << "yes"; break;
    case 64: std::cout << "no"; break;
    case 65: std::cout << "no"; break;
    case 66: std::cout << "no"; break;
    case 67: std::cout << "no"; break;
    case 68: std::cout << "no"; break;
    case 69: std::cout << "no"; break;
    case 70: std::cout << "yes"; break;
    case 71: std::cout << "no"; break;
    case 72: std::cout << "yes"; break;
    case 73: std::cout << "no"; break;
    case 74: std::cout << "no"; break;
    case 75: std::cout << "no"; break;
    case 76: std::cout << "no"; break;
    case 77: std::cout << "no"; break;
    case 78: std::cout << "no"; break;
    case 79: std::cout << "no"; break;
    case 80: std::cout << "yes"; break;
    case 81: std::cout << "yes"; break;
    case 82: std::cout << "no"; break;
    case 83: std::cout << "no"; break;
    case 84: std::cout << "yes"; break;
    case 85: std::cout << "no"; break;
    case 86: std::cout << "no"; break;
    case 87: std::cout << "no"; break;
    case 88: std::cout << "no"; break;
    case 89: std::cout << "no"; break;
    case 90: std::cout << "yes"; break;
    case 91: std::cout << "no"; break;
    case 92: std::cout << "no"; break;
    case 93: std::cout << "no"; break;
    case 94: std::cout << "no"; break;
    case 95: std::cout << "no"; break;
    case 96: std::cout << "no"; break;
    case 97: std::cout << "no"; break;
    case 98: std::cout << "no"; break;
    case 99: std::cout << "no"; break;
  }
}
rrrFer вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Дано натуральное число n (n < 9999). Выяснить, различны ли все четыре цифры этого числа fanatloko Паскаль, Turbo Pascal, PascalABC.NET 5 23.06.2013 21:01
Программа ,позволяющая проверить,все ли цифры натурального числа M различны. Swetic Помощь студентам 1 24.05.2013 13:08
найти число где все четыре цифры различны Grey64 Помощь студентам 2 15.09.2010 20:03
даны натуральные трехзначные числа, нужно выбрать такие, запись которых содержит два одинаковые цифры. TuuuZ Помощь студентам 2 28.12.2009 16:18
Найти кол-во её стобцов,все элементы которых различны. Delphi. Flashcherry Помощь студентам 1 21.03.2009 00:46