2013-12-07 3 views
0

Мне нужно отобразить все четные числа, для которых меньше определенного числа. Эти числа генерируются случайным образом между диапазоном. Вот задание:Как отображать все четные числа меньше заданного числа?

Напишите программу, которая предложит пользователю ввести целое число (n). Затем ваша программа генерирует другое случайное значение integer (max), которое достигает не более 10 * n. Поэтому, если n введено 5, число сгенерированных (max) должно быть между 5 и 50 (5 * 10). Эта программа отображает сумму всех четных чисел меньше (макс.). Ваша программа останавливается при достижении первого значения суммы больше макс. Отобразите его значение.

То, что я сделал до сих пор:

Scanner s = new Scanner(System.in); 
System.out.print("Enter an integer: "); 

int n = s.nextInt(); 
int most = (10 * n) - (n+1); 
int max = (int)(n + Math.random() * most); 

System.out.println("Maximum generated is: "+ max); 

for(int i = 2 ; i < max; i+=2) { 
    int num = max/i; 
    if(num % 2 == 0) { 
     System.out.print("number is "+ num); 
    }  
} 

Пример запуска:

Enter an integer: 5 
Maximum generated is: 45 
Sum of (6 8 10 12) = 50 //we stopped because 50 is the first sum greater 
         //than max 

Что случилось?

+0

@popnoodles Java – XerXes

+3

Используйте раздел «Теги» для тегов, не помещайте теги в раздел раздела. Я дезинформировал ваш вопрос. – BalusC

+0

Я думаю, что идея состоит в том, чтобы генерировать все четные числа, меньшие max (от 2 до 48), а затем суммировать их все. –

ответ

0

Я думаю, что ваша логика должна нравится,

int sum = 0; 
int i = 2; 
while (i<max) { 
    sum+=i; 
    if (sum > max) { 
     break; 
    } 
    i+=2; 
} 
System.out.print("Value=" + sum); 
+0

Вот как я думал внутри своей петли – XerXes

+0

Почему бы не цикл for? – Bohemian

0

Вы можете сделать это:

for(int i=0; i<max; i=i+2){ 
    sum+=i; 
} 

System.out.println (сумма); Как бы это ни звучало, может быть, даже более быстрая математическая формула для определения привязки суммы всех четных чисел на определенное число, но это вопрос другой замены стека.

+0

Спасибо, он помог мне! – XerXes

Смежные вопросы