Loading...
mitko_26 avatar mitko_26 2 Точки

06. Unique PIN Codes

Здравейте,

Ще сподели ли някой решение на задачата "06. Unique PIN Codes" от изпита.

Благодаря

Поздрави

Тагове:
1
Programming Basics
mark79 avatar mark79 639 Точки
Best Answer

Здравей,

надявам се този код да ти свърши работа ..

max_n1 = int(input())
max_n2 = int(input())
max_n3 = int(input())

for num1 in range(2, max_n1 + 1, 2):
    for num2 in range(2, max_n2 + 1):
        for num3 in range(2, max_n3 + 1, 2):
            if num2 == 2 or num2 == 3 or num2 == 5 or num2 == 7:
                print(f"{num1} {num2} {num3}")

Поздрави :)

2
03/03/2020 23:02:52
mitko_26 avatar mitko_26 2 Точки

Благодаря!

1
deyan96 avatar deyan96 0 Точки

същата задача за java?

0
mark79 avatar mark79 639 Точки

Заповядай ..

import java.util.Scanner;

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

        int a = Integer.parseInt(scanner.nextLine());
        int b = Integer.parseInt(scanner.nextLine());
        int c = Integer.parseInt(scanner.nextLine());

        for (int num1 = 2; num1 <= a; num1 += 2) {
            for (int num2 = 2; num2 <= b; num2++) {
                for (int num3 = 2; num3 <= c; num3 += 2) {
                    if (num2 != 4 && num2 != 6) {
                        System.out.printf("%d %d %d%n", num1, num2, num3);
                    }
                }
            }
        }
    }
}

1
01/03/2021 19:30:58
krum_43 avatar krum_43 756 Точки

Може ли линк към условието? 

0
tmihalev avatar tmihalev 0 Точки

Здравейте, 

Аз също имам проблем със задачата. Моето решение е тук https://pastebin.com/rFq36fvB

На тестовете, които виждам всичко е ок, след това обаче в judge ми дава 60/100. 

Моля някой да погледне кода и ако може да ме насочи къде греша.

По-долу копирам и условието на задачата:

1.Уникални PIN кодове

Да се напише програма, която генерира трицифрени PIN кодове, като цифрите на всеки PIN код са в определен интервал. За да бъде валиден един PIN код той трябва да отговаря на следните условия:

  • Първата и третата цифра трябва да бъдат четни.

  • Втората цифра трябва да бъде просто число в диапазона [2...7].

Вход

От конзолата се четат 3 реда:

  • Горната граница на първото число - цяло число в диапазона [1...9]

  • Горната граница на второто число - цяло число в диапазона [1...9]

  • Горната граница на третото число - цяло число в диапазона [1...9]

Изход

Да се отпечатат на конзолата всички валидни трицифрени PIN кодове, чиито цифри отговарят на съответните интервали.

Примерен вход и изход

Вход

Изход

Обяснения

3

5

5


 

2 2 2

2 2 4

2 3 2

2 3 4

2 5 2

2 5 4

Първото въведено число е 3, отговарящо за максималната стойност на първата цифра.

Второто въведено число е 5, отговарящо за максималната стойност на втората цифра.

Третото въведено число е 5, отговарящо за максималната стойността на третата цифра.

Във всички трицифрени PIN кодове, които сме получили първата цифра ни е 2, защото това е единственото възможно четно число.

При втората цифра важи друго правило. Там трябва да подберем всички възможни прости числа в диапазона от 2 до 7. В нашия случай тези числа са както следва 2, 2, 3, 3, 5, 5.

При третата цифра важи правилото за четните числа и ако го спазваме, получаваме, че възможните числа са: 2, 4, 2, 4, 2, 4.

 

8

2

8

2 2 2

2 2 4

2 2 6

2 2 8

4 2 2

4 2 4

4 2 6

4 2 8

6 2 2

6 2 4

6 2 6

6 2 8

8 2 2

8 2 4

8 2 6

8 2 8

 

0
krum_43 avatar krum_43 756 Точки

Тук има малка неточност в условието,а именно че втората и третата цифра по принцип може да бъде и 0.

Явно тук нулата не се счита за цифра.

Ето и един работещ код на C#:

 

using System;

namespace Unique_Pin_Codes
{
    class Program
    {
        static void Main(string[] args)
        {

            int firstNumber = int.Parse(Console.ReadLine());
            int secondNumber = int.Parse(Console.ReadLine());
            int thirdNumber = int.Parse(Console.ReadLine());
            int outputNumber;
            for(int i=1;i<=firstNumber;i++)
            {
                for (int j = 1; j <=secondNumber; j++)
                {
                    for (int k = 1; k <=thirdNumber; k++)
                    {
                        if(i%2==0)
                            if(k%2==0)
                            {
                                if((j==2)||(j==3)||(j==5)||(j==7))
                                {
                                    outputNumber = 100 * i + 10 * j + k;
                                    Console.WriteLine(outputNumber);
                                }
                            }
                    }
                }

                 
            }
        }
    }
}
 

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