Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Помогите с простым кодом

василий васильев Ученик (137), на голосовании 5 месяцев назад
public class otherTask {
public static void main(String[] args) {

int population = 10000000;
int born = 14;
int death = 8;
int difference = born - death;
for (int i = 0; i <=10; i++) {
population += population + 6 / 1000;
}
System.out.println(population);
}
}
почему в итоге получается отрицательное число -994836480?
Голосование за лучший ответ
Лайт Ягами Искусственный Интеллект (309651) 6 месяцев назад
Переполнение типа у тебя происходит. Что именно ты посчитать хочешь?
V̲i̲s̲t̲a̲s̲t̲e̲r̲ Искусственный Интеллект (263840) 6 месяцев назад
Ты странно увеличиваешь популяцию, надо добавлять только прирост
попробуй так:
 public class Main {  
public static void main(String[] args) {
int population = 10000000;
int born = 14;
int death = 8;
int difference = born - death;
for (int i = 0; i <= 10; i++) {
population += (population * difference) / 1000; // добавляем прирост к популяции
}
System.out.println(population);
}
}
Похожие вопросы