Mail.ru
Почта
Мой Мир
Одноклассники
ВКонтакте
Игры
Знакомства
Новости
Календарь
Облако
Заметки
Все проекты
Все проекты
выход
Регистрация
Вход
Категории
Все вопросы проекта
Компьютеры, Интернет
Темы для взрослых
Авто, Мото
Красота и Здоровье
Товары и Услуги
Бизнес, Финансы
Наука, Техника, Языки
Философия, Непознанное
Города и Страны
Образование
Фотография, Видеосъемка
Гороскопы, Магия, Гадания
Общество, Политика, СМИ
Юридическая консультация
Досуг, Развлечения
Путешествия, Туризм
Юмор
Еда, Кулинария
Работа, Карьера
О проектах Mail
Животные, Растения
Семья, Дом, Дети
Другое
Знакомства, Любовь, Отношения
Спорт
Золотой фонд
Искусство и Культура
Стиль, Мода, Звезды
Полный список
Спросить
Лидеры
Поиск по вопросам
Ответы Mail
Программирование
Android
C/C++
C#
iOS
Java
JavaScript
jQuery
SQL
Perl
PHP
Python
Веб-дизайн
Верстка, CSS, HTML, SVG
Системное администрирование
Другие языки и технологии
Вопросы - лидеры.
Чем Луа лучше Пайтона и наоборот? Буду использовать в целях написания сценариев.
1 ставка
Как загрузить собственный символ в VFD дисплей POS-VFD-RS232?
1 ставка
Возможно ли запустить веб сайт твича без javascript
1 ставка
Программирование, OpenCV, C++, Visual Studio
1 ставка
Лидеры категории
Лена-пена
Искусственный Интеллект
М.И.
Искусственный Интеллект
Y.Nine
Искусственный Интеллект
•••
Что не так с моим кодом?
Arystan 135
Ученик
(31), на голосовании
3 месяца назад
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. В чем проблема?
Голосование за лучший ответ
Николай Матвейчук
Просветленный
(45202)
4 месяца назад
Слишком поздно приводите типы 2 + 9.2 + 1.92 = 13.12
Вам нужно числа приводить к целым до сложения, а не после.
Arystan 135
Ученик (31)
4 месяца назад
Большое спасибо. А то я не понимал почему у меня выходят дроби, поэтому приводил их к int
Владимир Ворников
Профи
(926)
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. В чем проблема?