Python练习2024.02.07

 洛谷(仅用于个人学习)

# 【深基4.习8】求三角形

## 题目描述

模仿例题,打印出不同方向的正方形,然后打印三角形矩阵。中间有个空行。

## 输入格式

输入矩阵的规模,不超过 $9$。

## 输出格式

输出矩形和正方形

n=int(input())

x=1
for i in range(1,n+1):
    for j in range(1,n+1):
        if x<10:
            print('0',end='')
            print(x,end='')
        else:
            print(x,end='')
        x+=1
    print()
    
print()

x=1
for i in range(1,n+1):
    print(' '*(n*2-2*i),end='')
    for j in range(1,i+1):
        if x<10:
            print('0',end='')
            print(x,end='')
        else:
            print(x,end='')
        x+=1
    print()

真是纳闷,明明可以实现,但是编译失败啊啊啊啊 

# 子数整数

## 题目描述

对于一个五位数 $\overline{a_1a_2a_3a_4a_5}$,可将其拆分为三个子数:

$sub_1=\overline{a_1a_2a_3}$

$sub_2=\overline{a_2a_3a_4}$

$sub_3=\overline{a_3a_4a_5}$

例如,五位数 $20207$ 可以拆分成

$sub_1=202$

$sub_2=020\ (=20)$

$sub_3=207$

现在给定一个正整数 $K$,要求你编程求出 $10000$ 到 $30000$ 之间所有满足下述条件的五位数,条件是这些五位数的三个子数 $sub_1,sub_2,sub_3$ 都可被 $K$ 整除。

## 输入格式

一个正整数 $K$。

## 输出格式

每一行为一个满足条件的五位数,要求从小到大输出。不得重复输出或遗漏。如果无解,则输出 `No`。

n=int(input())
count=0
for i in range(10000,30001):
    a=str(i)
    b1=a[0:3]
    b2=a[1:4]
    b3=a[2:5]
    if int(b1)%n==0 and int(b2)%n==0 and int(b3)%n==0:
        print(i)
        count+=1
if count==0:
    print('No')

 不知道在判断有没有解的地方有更好的办法没有,我只能想出这个解法了。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值