Кубок Ланьцяо — 6-й Кубок Ланьцяо C Языковая группа A/Группа B/Группа C – Решение проблем Python

Оглавление

Целочисленное решение уравнения

галактика бомба

фантастические цифры

Количество типов карт

стиль браслета

Выкуп напитков

Количество лотерейных билетов

Саньян Сиань Руй

Сложение становится умножением

Чередование рядов цвета

Кубический хвост без изменений


Целочисленное решение уравнения

Уравнение: a^2 + b^2 + c^2 = 1000

Имеет ли это уравнение целые решения? Имеются: a, b, c = 6, 8, 30, что является множеством решений.

Можете ли вы найти другой набор подходящих решений?

Пожалуйста, введите наименьшее число в решении.

Примечание. То, что вы отправляете, должно быть целым числом, не заполняйте никакого дополнительного контента или пояснительного текста.

flag=False
for i in range(1,101):
    for j in range(1,101):
        for k in range(1,101):
            if i*i+j*j+k*k==1000 and i!=6 and j!=8 and k!=30:
                print(i,j,k)
                flag=True
                break
        if flag:
            break
    if flag:
        break

галактика бомба

В огромном пространстве Галактики X плавает множество рукотворных «бомб» Звезды X, которые используются в качестве дорожных знаков во Вселенной.

Каждую бомбу можно установить на несколько дней, прежде чем она взорвется.

Например: если бомба «Альфа» заложена 1 января 2015 года и таймер установлен на 15 дней, она взорвется 16 января 2015 года.

Есть бета-бомба, которая была заложена 9 ноября 2014 года. Таймер 1000 дней. Рассчитайте, пожалуйста, точную дату ее взрыва.

Введите дату в формате гггг-мм-дд, который представляет собой 4-значный год, 2-значный месяц и 2-значный номер даты. Например: 19 февраля 2015 г.

Пожалуйста, пишите строго по формату. Никакие другие слова или символы не могут появляться.

#月份日期表
month_days=[[0,31,28,31,30,31,30,31,31,30,31,30,31],[0,31,29,31,30,31,30,31,31,30,31,30,31]]
#判断闰年
def isLeap(year):
    if year%4==0 and year%100!=0 or year%400==0:
        return True
    else:
        return False
year=2014
month=11
day=9
#模拟爆炸过程
i=1
while i<=1000:
    day+=1
    #超过当月最大天数
    if day>month_days[1 if isLeap(year) else 0][month]:
        day=1
        month+=1
        if month>12:
            month=1
            year+=1
    i+=1
print('{}-{:0>2d}-{:0>2d}'.format(year,month,day))

 

фантастические цифры

Сяо Мин обнаружил чудесное число. В его квадрате и кубе каждое из 10 чисел от 0 до 9 в точности используется только один раз.

Сможете ли вы угадать, что это за число?

Пожалуйста, заполните номер, не заполняя никакого дополнительного контента.

#判断平方数字和立方数字是否正好用了从0-9
def juage(x,y):
    flag=True
    number_list=[]
    x=str(x)
    y=str(y)
    for i in x:
        number_list.append(i)
    for i in y:
        number_list.append(i)
    number_list.sort()
    for i in range(10):
        if int(number_list[i])!=i:
            flag=False
            break
    return flag
for i in range(1,10*10):
    if juage(i*i,i*i*i):
        print(i)
        break

Количество типов карт

Сяо Мина похитили в казино X и заставили играть в карты с тремя другими людьми.

Колода игральных карт (всего 52 карты, не считая козырей) распределяется поровну на 4 человека, по 13 карт каждому.

В это время в голове Сяо Мина внезапно возник вопрос:

Если вы не учитываете масть, а учитываете только очки и не учитываете порядок получаемых карт, сколько комбинаций начальных типов карт вы можете получить в своей руке?

Пожалуйста, заполните весь номер, не заполняя никакого дополнительного содержания или текста описания.

#组合数学
sum=1
number=52
#模拟发牌
for i in range(1,14):
    sum*=number
    number-=1
print(sum)

 

стиль браслета

У Сяо Мина есть 3 красных коралла, 4 белых коралла и 5 желтых агатов.

Он хотел связать их вместе как браслет для своей девушки.

Теперь Сяо Мин хочет знать: если учесть, что браслет можно вращать или переворачивать по своему желанию, сколько может быть различных комбинаций?

Пожалуйста, отправьте это целое число. Не заполняйте избыточный контент или пояснительный текст.

组合数学,圆周排列,+去重

Выкуп напитков

Фабрика напитков Leyangyang проводит рекламную акцию. Напиток LeYangYang C-типа можно обменять на другой напиток C-типа с 3 крышками от бутылок, и цикл может продолжиться (но временные займы или кредит не допускаются).

Пожалуйста, подсчитайте, если Сяо Мин не тратит крышки от бутылок и как можно больше участвует в мероприятиях, то за n бутылок напитков, которые он изначально купил, сколько бутылок напитков он сможет выпить в итоге.

Входные данные: целое число n, указывающее количество напитков, которые нужно начать покупать (0<n<10000).

Выходные данные: целое число, представляющее фактическое количество полученных напитков.

Например:

Пользовательский ввод:

100

Программа должна вывести:

149

Пользовательский ввод:

101

Программа должна вывести:

151

n=int(input())
sum=n
while n>0:
    #如果饮料足够换购
    if n>=3:
        n-=3
        n+=1
        sum+=1
    else:
        break
print(sum)

 

Количество лотерейных билетов

Некоторые люди очень суеверны в отношении чисел: например, число с цифрой «4» считается несчастливым, поскольку оно звучит как слово «смерть».

Хотя эти утверждения являются чистой ерундой, иногда они должны удовлетворять потребности общественности. Номера лотереи для определенной лотереи состоят из 5 цифр (10000-99999), при этом среди них не должно быть чисел с цифрой "4". Организатор просит вас рассчитать максимальное количество лотерейных билетов, которые можно выдать, если таковые имеются. два лотерейных билета имеют разные номера.

Пожалуйста, отправьте это число (целое число) без лишнего или описательного текста.

def juage(n):
    n=str(n)
    flag=False
    if '4' in n:
        flag=True
        return flag
    return flag
ans=0
for i in range(10000,100000):
    if not juage(i):
        ans+=1
print(ans)

 

Саньян Сиань Руй

Обратите внимание на следующее уравнение сложения:

Благоприятный и процветающий

+ Три овцы приносят благоприятность

-------------------

Три овцы злятся

Среди них одни и те же китайские иероглифы обозначают одни и те же числа, а разные китайские иероглифы представляют разные числа.

Пожалуйста, введите 4-значный номер, представленный «Три овцы Сянь Жуй» (ответ уникален), и не заполняйте никакой дополнительный контент.

#   a0 a1 a2 a3
#+  a4 a5 a6 a7
#-------------
#a4 a5 a2 a1 a8
#全排列0-9找到合适解
number_list=[]
for i in range(10):
    number_list.append(i)
from itertools import permutations
for item in permutations(number_list):
    if item[0]==0 or item[4]==0:
        continue
    x=item[0]*1000+item[1]*100+item[2]*10+item[3]
    y=item[4]*1000+item[5]*100+item[6]*10+item[7]
    z=item[4]*10000+item[5]*1000+item[2]*100+item[1]*10+item[8]
    if x+y==z:
        print(y)
        break

 

Сложение становится умножением

Все мы знаем: 1+2+3+...+49=1225.

Теперь вас просят превратить два несмежных знака плюс в знаки умножения так, чтобы в результате получилось 2015.

например:

1+2+3+...+10*11+12+...+27*28+29+...+49 = 2015

Это ответ, который соответствует требованиям.

Найдите другой возможный ответ и укажите число слева от первого знака умножения (например, введите 10).

Примечание. Вам необходимо указать целое число, не заполняйте лишний контент.

#前后两式子相减,消去同类项
diff_number=2015-1225
flag=False
for i in range(1,47):
    for j in range(1,48):
        if i*(i+1)+j*(j+1)-(i+i+1)-(j+j+1)==diff_number:
            if i!=10:
                print(i)
                flag=True
                break
    if flag:
        break

 

Чередование рядов цвета

В таблицах Excel много сеток.Чтобы не перепутать данные в определенной строке с соседними строками, можно использовать стиль изменения цвета альтернативной строки.

Стиль, разработанный Сяо Мином: 1-й ряд — синий, 2-й ряд — белый, 3-й ряд — синий, 4-й ряд — белый....

Теперь Сяо Мин хочет знать, сколько синих линий находится между строкой 21 и строкой 50.

Пожалуйста, отправьте это целое число напрямую и не заполняйте лишний контент.

ans=0
for i in range(21,51):
    if i%2!=0:
        ans+=1
print(ans)

 

Кубический хвост без изменений

Есть числа, куб которых заканчивается самим числом.

Например: 1,4,5,6,9,24,25,....

Пожалуйста, подсчитайте среди чисел в пределах 10 000 (имея в виду число, а не его кубическое значение), сколько положительных целых чисел соответствуют этой характеристике?

Пожалуйста, отправьте это целое число и не заполняйте никакого дополнительного контента.

def juage(n):
    square_number=n*n*n
    square_number=str(square_number)
    n=str(n)
    length=len(n)
    flag=False
    if square_number[len(square_number)-length:]==n:
        flag=True
        return flag
    return flag
ans=0
for i in range(1,10001):
    if juage(i):
        ans+=1
print(ans)

Supongo que te gusta

Origin blog.csdn.net/Talantfuck/article/details/124567133
Recomendado
Clasificación