С Новым годом! Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.52/25: Рейтинг темы: голосов - 25, средняя оценка - 4.52
0 / 0 / 0
Регистрация: 26.10.2018
Сообщений: 18

Дано натуральное число n, проверить, кратно ли оно 11 используя признак делимости на 11

30.11.2018, 14:22. Показов 4955. Ответов 18
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите задачу решить:
Дано натуральное число n, проверить, кратно ли оно 11 используя признак делимости на 11.
Вот моя работа под задачу "кратно ли 3", но вот на "кратно 11" пока не допёр как решать
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
#include "stdafx.h"
#include <iostream>
#include <cmath>
using namespace std;
 
 
int main()
{
        setlocale(LC_ALL, "Russian");
    int n;
    cout << "Введите число N = ";
    cin >> n;
    int krtnost = 0;
    while (n > 0)
    {
        krtnost += n % 10;
        n /= 10;
    }
    if (sum % 3 == 0)
    {
        cout << "Число N кратно 3 \n";
    }
    else
    {
        cout << "Число N не кратно 3 \n";
    }
    system("pause");
    return 0;
}
Может я глупый, но прочитав признак делимости на 11 мне стало плохо) Ничего не понятно, из похожих задач на форуме тоже, если не сложно помогите пожалуйста
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
30.11.2018, 14:22
Ответы с готовыми решениями:

Проверить, кратно ли р девяти, используя признак делимости на девять
Мне срочно необходимо решение этой задачи пожалуйчта помогите мне... Дано натуральное число p. Проверить, кратно ли р девяти,...

Дано натуральное число х. Определить кратно ли это число 2, 3, 5
Разработать программу, использующую разветвления в visual c++ 6.0 с коментариями

Функции. Проверить, простое число или нет. Увеличить его значение на натуральное число M. Проверить, осталось ли оно простым
Помогите пожалуйста 1. Дано натуральное число N, проверить, простое оно или нет. Увеличить его значение на натуральное число M....

18
Эксперт .NET
 Аватар для Даценд
5878 / 4755 / 2939
Регистрация: 20.04.2015
Сообщений: 8,361
30.11.2018, 14:33
Gudaniky,
А в чем сакральный смысл искать сумму цифр числа, после искать остаток от деления этой суммы на 3, если можно сразу найти остаток от деления самого числа на 3?
Так же и с делимостью на 11.
0
 Аватар для Джон Кофи
266 / 81 / 18
Регистрация: 05.04.2018
Сообщений: 1,102
Записей в блоге: 1
30.11.2018, 14:36
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
 
using namespace std;
 
int main()
{
    int i;
    cin >> i;
    
    if(i % 11 != 0) {
        cout << "not multiply.";
    }
    else {
        cout << "The number is multiply.";
    }
    
    return 0;
}
'11' подменяй на любое число, какое нужно для вычисления кратности.
0
0 / 0 / 0
Регистрация: 26.10.2018
Сообщений: 18
30.11.2018, 14:40  [ТС]
Потому что задачи цель проверить кратно ли оно по признаку кратности
0
0 / 0 / 0
Регистрация: 26.10.2018
Сообщений: 18
30.11.2018, 14:41  [ТС]
Спасибо конечно, но это не то, нужно по признаку кратности на 11
Миниатюры
Дано натуральное число n, проверить, кратно ли оно 11 используя признак делимости на 11  
0
261 / 111 / 53
Регистрация: 22.01.2017
Сообщений: 448
30.11.2018, 14:42
del
0
зомбяк
 Аватар для TRam_
1585 / 1219 / 345
Регистрация: 14.05.2017
Сообщений: 3,940
30.11.2018, 14:44
Думаю речь о https://ru.wikipedia.org/wiki/Признак_Паскаля

Отсюда можно получить простой признак делимости на 11:

остаток от деления числа на 11 равен остатку от деления его суммы цифр, где каждая нечётная (начиная с единиц) цифра взята со знаком «−», на 11.
Проще говоря:

если разбить все цифры числа на 2 группы — через одну цифру (в одну группу попадут все цифры с нечётными позициями, в другую — с чётными), сложить все цифры в каждой группе и вычесть одну полученную сумму из другой, то остаток от деления на 11 результата будет такой же, что и у первоначального числа.
0
Эксперт .NET
 Аватар для Даценд
5878 / 4755 / 2939
Регистрация: 20.04.2015
Сообщений: 8,361
30.11.2018, 14:46
n1b1ru,
Использование строки при решении задачи с числом - первый шаг к резиновой женщине! )
Почему:
Кликните здесь для просмотра всего текста
Потому что проще, чем с настоящей.
1
261 / 111 / 53
Регистрация: 22.01.2017
Сообщений: 448
30.11.2018, 14:57
C++
1
2
3
4
5
6
7
8
9
10
std::string N = "555550512";
int odd = 0;
int even = 0;
for(unsigned i = 0; i < N.size(); ++i) {
    (i % 2) ? even += N[i] - '0'
            : odd += N[i] - '0';
}
 
(odd == even || !((odd - even) % 11)) ? cout << "True"
                                      : cout << "False";
Добавлено через 7 минут

Не по теме:


Даценд, делал и буду делать...
А сравнение, мягко говоря странное )

0
Злостный нарушитель
 Аватар для Verevkin
10248 / 5675 / 1262
Регистрация: 12.03.2015
Сообщений: 26,296
30.11.2018, 15:04
Признак делимости на 11. На 11 делятся только те числа, у которых сумма цифр, стоящих на нечётных местах, либо равна сумме цифр, стоящих на чётных местах, либо отличается от неё на число, делящееся на 11.
Этож бесконечная рекурсия, мать яё!
0
Диссидент
Эксперт C
 Аватар для Байт
27714 / 17332 / 3810
Регистрация: 24.12.2010
Сообщений: 38,978
30.11.2018, 15:37
Цитата Сообщение от Verevkin Посмотреть сообщение
Этож бесконечная рекурсия, мать яё!
Ну уж прям и бесконечная!
C++
1
2
3
4
5
6
7
8
9
10
11
12
bool Pri11(int n)
{
   int s = 0;
   for(int i=0; n; i= (i+1)%2) {
     if (i==0) s += n%10;
     else s -= n%10;
     n /= 10;
   }
   if (s < 0) s = -s;
   if (s==0) return true;
   else return Pri11(s);
}
0
Злостный нарушитель
 Аватар для Verevkin
10248 / 5675 / 1262
Регистрация: 12.03.2015
Сообщений: 26,296
30.11.2018, 15:43
Цитата Сообщение от Байт Посмотреть сообщение
Ну уж прям и бесконечная!
Шуток, штоли, не понимаешь?
0
Диссидент
Эксперт C
 Аватар для Байт
27714 / 17332 / 3810
Регистрация: 24.12.2010
Сообщений: 38,978
30.11.2018, 16:07

Не по теме:

Цитата Сообщение от Verevkin Посмотреть сообщение
Шуток, штоли, не понимаешь?
Да вроде, понимаю... А ты?



Добавлено через 12 минут
Кстати, да. Мой код можно считать шуткой, ибо он вполне может зациклиться. И даже обязательно сделает это 90.9091 процентах случаев. Правильно так
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
bool Pri11(int n)
{
   int s = 0;
   for(int i=0; n; i= (i+1)%2) {
     if (i==0) s += n%10;
     else s -= n%10;
     n /= 10;
   }
   if (s < 0) s = -s;
   if (s==0) return true;
   else if (s<11) return false;
   else return Pri11(s);
}
Добавлено через 8 минут
Прошу прощения у уважаемой публики, что на секунду ввел в заблуждение...
Правда, для полной уверенности, надо доказать, что рассматриваемый процесс будет давать s < n (при n > 10). Но это не очень сложно. Сомневающиеся могут опубликовать этот вопрос в разделе "Математика". Тамошние жители с удовольствием предоставят строгое доказательство...
0
Эксперт .NET
 Аватар для Даценд
5878 / 4755 / 2939
Регистрация: 20.04.2015
Сообщений: 8,361
30.11.2018, 17:11
Осмелюсь предложить свой вариант:
C++
1
2
3
4
5
6
7
8
9
10
11
bool Pri11(int n)
{
    if (abs(n) < 11) return n == 0;
    int s = 0;
    while (n)
    {
        s += n % 100 / 10 - n % 100 % 10;
        n /= 100;
    }
    return Pri11(s);
}
Добавлено через 15 минут
Цитата Сообщение от n1b1ru Посмотреть сообщение
делал и буду делать...
Как насчет числа -11?
1
261 / 111 / 53
Регистрация: 22.01.2017
Сообщений: 448
30.11.2018, 17:25
Цитата Сообщение от Даценд Посмотреть сообщение
Как насчет числа -11?
А что с ним не так?
0
Эксперт .NET
 Аватар для Даценд
5878 / 4755 / 2939
Регистрация: 20.04.2015
Сообщений: 8,361
30.11.2018, 17:29
Цитата Сообщение от n1b1ru Посмотреть сообщение
А что с ним не так?
Та шо-то "False" ваша функция пишет при
C++
1
std::string N = "-11";
0
261 / 111 / 53
Регистрация: 22.01.2017
Сообщений: 448
30.11.2018, 17:33
Даценд,
Цитата Сообщение от Gudaniky Посмотреть сообщение
Дано натуральное число n
1
Эксперт .NET
 Аватар для Даценд
5878 / 4755 / 2939
Регистрация: 20.04.2015
Сообщений: 8,361
30.11.2018, 17:36
n1b1ru,
шайтанама!
0
261 / 111 / 53
Регистрация: 22.01.2017
Сообщений: 448
30.11.2018, 17:40
Даценд,
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
30.11.2018, 17:40
Помогаю со студенческими работами здесь

Дано натуральное число P. Проверьте, кратно ли P трем, используя признак делимости на 3
Дано натуральное число P. Проверьте, кратно ли P трем, ис-пользуя признак делимости на 3. В консольном варианте, пожалуйста

Дано натуральное число P. Проверьте, кратно ли число P девяти, используя признак делимости на 9
Дано натуральное число P. Проверьте, кратно ли число P девяти, используя признак делимости на 9.

Кратно ли число трем, используя признак делимости на 3.
Дано натуральное число P. Проверьте, кратно ли Р трем, используя признак делимости на 3. Подсситайте количество цифр 3 в записи числа. ...

Кратно ли число одиннадцати, используя признак делимости на 11
Надо написать программу на паскале, с использованием функций(процедур) и массивов! Дано натуральное число P. Проверьте, кратно ли P...

Рекурсия: с помощью признака делимости на 3 проверить, кратно ли данное натуральное число 3
Доброго времени суток! Извините, что отвлекаю. 2 таких задачки попались на рекурсии. 1)С помощью признака делимости на 3 проверить,...


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

Или воспользуйтесь поиском по форуму:
19
Ответ Создать тему
Новые блоги и статьи
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её. Последовательность действий:. . .
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru