06. Number Generator
Може ли малко помощ за тази задача защото не разбирам къде ми е грешката, а джъдж ми дава 40/100. :)
Може ли малко помощ за тази задача защото не разбирам къде ми е грешката, а джъдж ми дава 40/100. :)
Здравей,
Изпращам моето решение на задачата с while-цикъл. То е на Java, но това не е спъващо. Според мен трябва да поставиш ограничения за формата на всяко ново генерирано число, а не да се генерират всички числа от MNL до 111. Там е въпросът. Доста приятна задача. С for-цикъл е, може би, по-лесно. Аз първоначално я бях решил с for-цикъл и много ти благодаря, че ни подсещаш да потърсим решение и с while-цикъл.
Поздрави
import java.util.Scanner;
public class TestForumQuestionNumberGeneration {
public static void main(String[] args) {
Scanner console = new Scanner(System.in);
int o = Integer.parseInt(console.nextLine());
int p = Integer.parseInt(console.nextLine());
int q = Integer.parseInt(console.nextLine());
int specialNumber = Integer.parseInt(console.nextLine());
int controlNumber = Integer.parseInt(console.nextLine());
int n = o;
int m = p;
int l = q;
int number = n * 100 + m * 10 + l;
int counter = 111;
while (number >= 111) {
if (specialNumber >= controlNumber) {
break;
}
if (number % 3 == 0) {
specialNumber += 5;
} else if (number % 5 == 0) {
specialNumber -= 2;
} else if (number % 2 == 0) {
specialNumber *= 2;
}
l--;
if (l == 0) {
l = q;
m--;
if (m == 0) {
m = p;
n--;
}
}
number = n * 100 + m * 10 + l;
}
if (specialNumber >= controlNumber) {
System.out.printf("Yes! Control number was reached! " +
"Current special number is %d.", specialNumber);
} else {
System.out.printf("No! %d " +
"is the last reached special number.", specialNumber);
}
}
}
Да, на мен там ми беше проблема, че ми генерираше всички числа от MNL до 111. "генерира всички числа в диапазона от MNL до 111. " - тази част ме обърка малко. Иначе хубава задача, да.