Форум программистов, компьютерный форум, киберфорум
Perl
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
6 / 6 / 4
Регистрация: 09.11.2011
Сообщений: 140

Правила деления на 7 задача

26.11.2024, 14:25. Показов 563. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый, могли бы помочь мне с решением задачи.

 Комментарий модератора 
Нарушение п5.19. правил форума.

Запрещено создавать темы в виде ссылок на задания или коды программ, расположенные на других сайтах.

Никак не могу придумать как бы выйти из цикла в нужный момент.

тестовые данные 371, 477557101, 1603

1603 особенный, у него на последней итерации $n == 7

Perl
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
30
31
32
use strict;
use warnings;
 
sub seven {
    my ($n) = (@_);
    my $count_times = 1;
 
    my $last_digit = int(reverse($n)/10**(length_digits($n)-1));
    $n = int($n/10) - (2 * $last_digit);
    print "N>$n\n";
 
    while ($n > 7) { # я думаю, что проблема тут и он не выходит когда надо
        $count_times++;
        $last_digit = int(reverse($n)/10**(length_digits($n)-1));
        $n = int($n/10) - (2 * $last_digit);
        print ">$n\n";
    }
    print "Count_times = $count_times\n";
    ($n, $count_times);
}
 
 
sub length_digits {
    my ($n) = (@_);
    my $count_digits = 0;
    
    while ($n != 0) {
        $count_digits++;
        $n = int ($n/10);
    }
    $count_digits;
}
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
26.11.2024, 14:25
Ответы с готовыми решениями:

Parallel foreach - Можно ли задать кастомные правила деления коллекции?
Подскажите, вот у меня есть parallel.foreach с заданным максимальным количество потоков=4. Соответственно коллекция, которую я подам...

Задача на правила Киргоффа
Дано: R= 3 Ом внутреннее сопротивление r=0.7 Ом, {\varepsilon}_{1} = 2 В, {\varepsilon}_{2} = 5 В, {\varepsilon}_{3} = 7 В ...

Задача на правила Кирхгофа
Здравствуйте. Помогите пожалуйста вот с этой задачей, тут вроде надо записать систему уравнений (правила Кирхгофа), только вот не могу...

2
 Аватар для volodin661
6625 / 2256 / 346
Регистрация: 10.12.2013
Сообщений: 7,803
26.11.2024, 19:34
gnuvse,

библиотечные строковые функции Perl

Perl
1
2
3
4
5
6
7
8
# Кол-во цифр в числе $number
my $count = length $number
 
# взять $n чисел слева в числе $number
my $from_left = substr( $number, 0, $n )
 
# взять $n чисел справа в числе $number
my $from_right = substr( $number, -$n )
1
 Аватар для volodin661
6625 / 2256 / 346
Регистрация: 10.12.2013
Сообщений: 7,803
28.11.2024, 00:39
Цитата Сообщение от gnuvse Посмотреть сообщение
я думаю, что проблема тут и он не выходит когда надо
эх, молодёжь

Добавлено через 2 часа 50 минут
Certainly! Here's a simple Perl program that checks if a given number is divisible by 7 using the basic divisibility rule for 7.
Divisibility Rule for 7:

To check if a number is divisible by 7, the rule is:
  1. Take the last digit of the number.
  2. Double it.
  3. Subtract the doubled value from the rest of the number (i.e., the number without its last digit).
  4. If the result is divisible by 7, the original number is divisible by 7.
  5. If the result is still large, repeat the process with the new number.

The program below implements this rule in Perl:
Perl
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
30
31
32
#!/usr/bin/perl
use strict;
use warnings;
 
# Function to check divisibility by 7
sub is_divisible_by_7 {
    my ($num) = @_;
 
    # Make sure the number is positive
    $num = abs($num);
    
    # Check the divisibility by 7 rule
    while ($num >= 10) {
        my $last_digit = $num % 10;
        $num = int($num / 10);
        $num -= 2 * $last_digit;
    }
 
    # If the number is divisible by 7 or becomes 0, it's divisible by 7
    return $num % 7 == 0;
}
 
# Main program
print "Enter a number: ";
my $number = <STDIN>;
chomp($number);
 
if (is_divisible_by_7($number)) {
    print "$number is divisible by 7.\n";
} else {
    print "$number is not divisible by 7.\n";
}
Explanation:

The function is_divisible_by_7 repeatedly applies the divisibility rule: taking the last digit, doubling it, and subtracting it from the rest of the number.
It continues this process until the number reduces to a single-digit number.
Finally, it checks if the reduced number is divisible by 7.

Example:

For example, if the user inputs 203, the program would go through the following steps:
  1. Take the last digit 3, double it (6).
  2. Subtract 6 from the remaining number 20: 20 - 6 = 14.
  3. Since 14 is divisible by 7, the original number 203 is divisible by 7.


C#
1
2
Enter a number: 203
203 is divisible by 7.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
28.11.2024, 00:39
Помогаю со студенческими работами здесь

Правила сервера (Задача)
Всем добрый день. Помогите пожалуйста с советом или решением. Условие: Есть пользователи почты в рамках одного домена Domino,...

Задача на закон ома для смешанных цепей + правила киргхофа
Доброго времени суток, помогите решить задачу номер 15.

Задача про гирлянды. Задать правила включения и выключения определенных лампочек
Здравствуйте, подскажите пожалуйста, как решить задачку на CLIPS? Гирлянда. Имеются лампочки различных цветов, формы и т. п. Необходимо в...

Дополнительные ПРАВИЛА этого подраздела, Правила касающиеся обсуждения ремонта техники Electrolux
В разделе стиралок висит свод правил для всех разделов, в том числе и для этого. Там есть правило, касающееся именно этого раздела стиралок...

Ремонт Прежде, чем начать новую тему... (это ПРАВИЛА, читать ВСЕМ!), Правила для всех участников форума!!!
Назначение форума &quot;********&quot; или &quot;куда это я попал?&quot; Форум предназначен для мастеров, ремонтирующих определённые виды техники....


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
Расскажи мне о Мире, бродяга
kumehtar 12.11.2025
— Расскажи мне о Мире, бродяга, Ты же видел моря и метели. Как сменялись короны и стяги, Как эпохи стрелою летели. - Этот мир — это крылья и горы, Снег и пламя, любовь и тревоги, И бескрайние. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru