Loading...
Bubeto1979 avatar Bubeto1979 12 Точки

Задача 6. Number Generator (Java)

Някой може ли да ме светне къде точно ми се чупи задачата? Благодаря предварително.

 

import java.util.Scanner;


public class NumberGenerator {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);

        int m = Integer.parseInt(scanner.nextLine());
        int n = Integer.parseInt(scanner.nextLine());
        int l = Integer.parseInt(scanner.nextLine());
        int sum = 100*m + 10*n + l;
        int specNumber = Integer.parseInt(scanner.nextLine());
        int controlNumber = Integer.parseInt(scanner.nextLine());
        boolean isReached = false;



        for (int i = sum; i >= 111; i--) {

            if (i % 3 == 0){
                specNumber += 5;
            }
            else if(i % 10 == 5){
                specNumber -= 2;
            }
            else if(i % 2 == 0){
                specNumber *= 2;
            }
            if (specNumber >= controlNumber){
                isReached = true;
                break;
            }
        }

        if (isReached){
            System.out.printf("Yes! Control number was reached! Current special number is %d.", specNumber);


        }
        else {
            System.out.printf("No! %d is the last reached special number.", specNumber);
        }       

    }
}
Тагове:
0
Programming Basics
Ivanov.Ivan avatar Ivanov.Ivan Trainer 558 Точки

В тази задача уловката е, че числата са в границата от 1..9 следователно нито една от цифрите не трябва да достига стойност 0. Числа като 970, 907 и т.н са невалидни. Ако я решаваш с 3 цикъла и правилни граници няма да ги хитнеш, но ако го правиш с един трябва малко повече работа за да ограничиш тези стойности. 

0
Bubeto1979 avatar Bubeto1979 12 Точки

Е сега вече ми стана ясно, благодаря! 

0
MagiUzunova avatar MagiUzunova 0 Точки

Да. Аз лично я направих с три вложени for-a и ми стана интересно дали няма да стане с един.

Разписах го и с един,но се правят проверки за различно от нула за всяка една позиция на трицифреното число докато върти цикъла и проверки за това стотицата да е по-малка от първото въведено число, десетицата да е по-малка от второто въведено число и единиците да са по-малки от третото въведено число.  така се изклюват излишните числа.

 

0
st.penchev avatar st.penchev 3 Точки

Лично според мен условието е непълно. Трябва да се досещаш някои неща.

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