Для заданного числа задача состоит в том, чтобы разделить число на 3. Входное число может быть большим, и его невозможно сохранить, даже если мы используем long long int.
Input : n = 769452 Output : Yes Input : n = 123456758933312 Output : No Input : n = 3635883959606670431112222 Output : Yes
Поскольку входное число может быть очень большим, мы не можем использовать n% 3, чтобы проверить, делится ли число на 3 или нет, особенно в таких языках, как C / C ++. Идея основана на следующем факте.
A number is divisible by 3 if sum of its digits is divisible by 3.
Иллюстрация:
For example n = 1332 Sum of digits = 1 + 3 + 3 + 2 = 9 Since sum is divisible by 3, answer is Yes.
Как это работает?
Let us consider 1332, we can write it as 1332 = 1*1000 + 3*100 + 3*10 + 2 The proof is based on below observation: Remainder of 10i divided by 3 is 1 So powers of 10 only result in value 1. Remainder of «1*1000 + 3*100 + 3*10 + 2» divided by 3 can be written as : 1*1 + 3*1 + 3*1 + 2 = 9 The above expression is basically sum of all digits. Since 9 is divisible by 3, answer is yes.
Ниже приведена реализация вышеуказанного факта:
Проверка числа на простое или составное на Python
// C ++ программа, чтобы найти, делится ли число на
// 3 или нет
#include
using namespace std;
// Функция, чтобы найти это число делится на 3 или нет
int check(string str)
// Вычисляем сумму цифр
int n = str.length();
int digitSum = 0;
digitSum += (str[i]- ‘0’ );
// Проверяем, делится ли сумма цифр на 3
return (digitSum % 3 == 0);
string str = «1332» ;
// Java-программа для определения, является ли число
// делится на 3 или нет
// Функция, чтобы найти это число
// делится на 3 или нет
static boolean check(String str)
// Вычисляем сумму цифр
int n = str.length();
int digitSum = 0 ;
for ( int i= 0 ; i
digitSum += (str.charAt(i)- ‘0’ );
// Проверяем, равна ли сумма цифр
return (digitSum % 3 == 0 );
Пожалуйста, пишите комментарии, если вы обнаружите что-то неправильное или вы хотите поделиться дополнительной информацией по обсуждаемой выше теме.
- Проверьте, делится ли большое число на 5 или нет
- Проверьте, делится ли любое большое число на 17 или нет
- Проверьте, делится ли большое число на 19 или нет
- Проверьте, делится ли большое число на 2, 3 и 5 или нет
- Проверьте, делится ли большое число на 20
- Проверьте, делится ли большое число на 25 или нет
- Чтобы проверить, делится ли большое число на 7
- Проверь большое число делится на 16 или нет
- Проверьте, делится ли большое число на 75 или нет
- Проверьте, делится ли большое число на 9 или нет
- Проверьте, делится ли большое число на 11 или нет
- Проверьте, делится ли большое число на 8 или нет
- Проверьте, делится ли большое число на 4 или нет
- Проверьте, делится ли большое число на 13 или нет
- Проверьте, делится ли большое число на 6 или нет
Источник: espressocode.top
Проверка простоты числа перебором делителей. Решение задачи на Python
Написать программу (паскаль) которая проверяет делится ли на три целое число введённое с клавиа…
PascalABC.NET 3.3.5, сборка 1669 от 21.05.2018
Внимание! Если программа не работает, обновите версию!
begin
var n:=ReadInteger(‘Введите целое число и нажмите enter’);
if n mod 3=0 then Writeln(‘Число ‘,n,’ нацело делится на 3′)
else Writeln(‘Число ‘,n,’ нацело не делится на 3′)
end.
Анатолий Чмыриков Отвечено 24 сентября 2019
- ‘ data-html=»true»> Поделиться
- Комментариев (0)
Источник: matfaq.ru
Написать программу которая проверяет делится ли на 3 целое число
Привет Лёва Середнячок
напишите программу, которая проверяет, делится ли введенное пользователем целое число на 3 нацело
Комментарии
Ответ проверен экспертом
0 (0 оценок)
triolana 5 лет назад
Светило науки — 553134 ответа — 388270 раз оказано помощи
// PascalABC.NET 3.2, сборка 1485 от 15.06.2017
// Внимание! Если программа не работает, обновите версию!
begin
if ReadInteger(‘n=’) mod 3=0 then Writeln(‘Делится на 3’)
else Writeln(‘Не делится на 3’)
end.
Источник: vashurok.com