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

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

30.11.2018, 14:22. Показов 4965. Ответов 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
10254 / 5680 / 1262
Регистрация: 12.03.2015
Сообщений: 26,321
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
10254 / 5680 / 1262
Регистрация: 12.03.2015
Сообщений: 26,321
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
Ответ Создать тему
Новые блоги и статьи
сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 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 законам Кирхгофа и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru