Loading...
valkata1220 avatar valkata1220 20 Точки

Задача 6. Цифри / Digits / Java

Като вход на програмата, се прочита от конзолата 1 цяло трицифрено число. Трябва да принтирате числото определен брой пъти, като всеки път, преди да се принтира, числото се модифицира по следния начин: 
----ако числото се дели на 5 без остатък, извадете от него първата му цифра, 
----ако числото се дели на 3 без остатък, извадете от него втората му цифра, 
----ако не е нито едно от горните – прибавете към него третата му цифра, 
Принтирайте на конзолата N на брой реда, като всеки ред има М на брой числа, които са резултат от горните действия. Редовете са равни на сбора на първата и втората цифра на числото, а колоните – на първата и третата цифра.
Входът е цяло число в интервала [100…999].
Да се отпечатат на конзолата всички цели числа, които са резултат от дадените по-горе изчисления в съответния брой редове и колони, както в примерите.

132 129 126 123
120 119 121
123 120 119
121 123 120
(1 +3) = 4 и (1 + 2) = 3  -> 4 реда по 3 числа на всеки ред
Входното число 132 
132 -> деление на 3 -> 132 - 3 = 
= 129 -> деление на 3 -> 129 - 3 =
= 126 -> деление на 3 -> 126 - 3 =
= 123 -> деление на 3 -> 123 - 3 = 
= 120 -> деление на 5 -> 120 - 1 = 
..... 121 -> нито на 5, нито на 3 -> 121 + 2 = 123

 

376 382 388 394 400 397 403 409 415 412
418 424 430 427 433 439 445 442 448
454 460 457 463 469 475 472 478 484
490 487 493 499 505 502 508 514 520
517 523 529 535 532 538 544 550 547
553 559 565 562 568 574 580 577 583
589 595 592 598 604 610 607 613 619
625 622 628 634 640 637 643 649 655
652 658 664 670 667 673 679 685 682
688 694 700 697 703 709 715 712 718
10 реда по 9 числа на всеки
Входното число 376 -> нито на 5, нито на 3 -> 376 + 6 =
= 382 -> нито на 5, нито на 3 -> 382 + 6 =
= 388  + 6 = 394 + 6 =
= 400 -> деление на 5 -> 400 – 3 = 397
 

Това е задачата и линк към judge (https://judge.softuni.bg/Contests/Practice/Index/274#5) . Това е моето решение - https://pastebin.com/iLDf3ung. 

Проблема е , че нулевите тестове и един от тестовете минават . Другите се чупят . Всичко съм направил както трябва и не знам какъв е проблема . Благодаря ви предварително ! 

0
Programming Basics
DilyanaGeorgieva avatar DilyanaGeorgieva 81 Точки
Best Answer

Ето едно решение:

https://pastebin.com/g7DH6hVg

Малко по-оптимално е.

0
valkata1220 avatar valkata1220 20 Точки

Благодатя 

0
dakh93 avatar dakh93 53 Точки

Здравей колега, погледнах ти задачата и макар че не пиша на java просто набързо промених нещата за C# в Visual Studio , за да видя какво ти извежда и веднага ти намерих грешката.Логиката ти е вярна, но във вложеният цикъл в самите if-ве при принтиране не трябва да имаш нов ред, затова ти гърми в Judge.Остави минаването на нов ред само след като излезе от вложеният цикъл.Пробвах я и работи.Надявам се да съм бил полезен.УСПЕХ :)

0
valkata1220 avatar valkata1220 20 Точки

Aз съм оставил минаването на нов ред чак след вложения цикъл и пак ми гърми . В if-овете принтирам на същия ред . Намерих грешката ми е че когато се дели на 3 вадех 3 от сумата а е трябжало да вадя втората цифра .

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