Mail.ru
Почта
Мой Мир
Одноклассники
ВКонтакте
Игры
Знакомства
Новости
Календарь
Облако
Заметки
Все проекты
Все проекты
выход
Регистрация
Вход
Категории
Все вопросы проекта
Компьютеры, Интернет
Темы для взрослых
Авто, Мото
Красота и Здоровье
Товары и Услуги
Бизнес, Финансы
Наука, Техника, Языки
Философия, Непознанное
Города и Страны
Образование
Фотография, Видеосъемка
Гороскопы, Магия, Гадания
Общество, Политика, СМИ
Юридическая консультация
Досуг, Развлечения
Путешествия, Туризм
Юмор
Еда, Кулинария
Работа, Карьера
О проектах Mail
Животные, Растения
Семья, Дом, Дети
Другое
Знакомства, Любовь, Отношения
Спорт
Золотой фонд
Искусство и Культура
Стиль, Мода, Звезды
Полный список
Спросить
Лидеры
Поиск по вопросам
Ответы Mail
Программирование
Android
C/C++
C#
iOS
Java
JavaScript
jQuery
SQL
Perl
PHP
Python
Веб-дизайн
Верстка, CSS, HTML, SVG
Системное администрирование
Другие языки и технологии
Вопросы - лидеры.
Clickteam Fusion 2.5: Прекращена работа программы edrt.exe
1 ставка
Как перенести значения с электронного штангель циркуля на LCD монитор, через Ардуино
1 ставка
Ошибка в Android Studio
1 ставка
Лидеры категории
Лена-пена
Искусственный Интеллект
М.И.
Искусственный Интеллект
Y.Nine
Искусственный Интеллект
•••
Что не так с моим кодом?
Arystan 135
Ученик
(34), на голосовании
2 месяца назад
use 5.024; # strict enabled by default
use warnings;
my $n = <STDIN>;
my $sum = int(($n % 10) + (($n % 100) / 10) + ($n / 100));
if ($n < 0) {
my $res = $sum * (-1);
print "$res";
} else {
print "$sum";
}
код выдает 13 если вводишь 192. Однако сумма трех этих цифр 12. В чем проблема?
Голосование за лучший ответ
Николай Матвейчук
Просветленный
(45173)
3 месяца назад
Слишком поздно приводите типы 2 + 9.2 + 1.92 = 13.12
Вам нужно числа приводить к целым до сложения, а не после.
Arystan 135
Ученик (34)
3 месяца назад
Большое спасибо. А то я не понимал почему у меня выходят дроби, поэтому приводил их к int
Владимир Ворников
Профи
(924)
3 месяца назад
Сделайте так:
$x+=$_ for split '', abs <STDIN>;
print $x;
Похожие вопросы
use warnings;
my $n = <STDIN>;
my $sum = int(($n % 10) + (($n % 100) / 10) + ($n / 100));
if ($n < 0) {
my $res = $sum * (-1);
print "$res";
} else {
print "$sum";
}
код выдает 13 если вводишь 192. Однако сумма трех этих цифр 12. В чем проблема?