天天看點

子數整數

洛谷 P1151 子數整數

題目描述

對于一個五位數

子數整數

,可将其拆分為三個子數:

子數整數
子數整數
子數整數

例如,五位數20207可以拆分成

子數整數
子數整數
子數整數

現在給定一個正整數K,要求你程式設計求出10000到30000之間所有滿足下述條件的五位數,條件是這些五位數的三個子數

子數整數

都可被K整除。

輸入輸出格式

輸入格式:

一個正整數K

輸出格式:

每一行為一個滿足條件的五位數,要求從小到大輸出。不得重複輸出或遺漏。如果無解,則輸出“No”。

輸入輸出樣例

輸入樣例#1:   15

輸出樣例#1:

22555
25555
28555
30000
           

沒想好字元串怎麼做,還是用數學方法吧

# -*- coding: utf-8 -*-
def mid(n):
    m = int(n/10000)
    tmp = n - m*10000
    res = int(tmp/10)
    return res
def las(n):
    m = int(n/1000)
    tmo = n - m*1000
    return tmo
k = input()
k = int(k)
cnt = 0
for i in range(10000, 30001):
    i1 = int(i/100)
    i2 = mid(i)
    i3 = las(i)
    if i1%k==0 and i2%k==0 and i3%k==0:
        print(i)
        cnt += 1
if cnt==0:
    print('No')