Loading...
dimiOrange avatar dimiOrange 63 Точки

Здравей,

Изпращам моето решение на задачата с 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);
        }
    }
}
0
Kallyy7 avatar Kallyy7 102 Точки

Да, на мен там ми беше проблема, че ми генерираше всички числа от MNL до 111. "генерира всички числа в диапазона от MNL до 111. " - тази част ме обърка малко. Иначе хубава задача, да.

0
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.