【Codewars python 7kyu】: You're a square!

该博客介绍了一个 Codewars 上的 Python 7kyu 问题,任务是判断给定的数字是否为平方数,即判断它是否可以组成一个正方形的方块阵列。博客提供了问题描述、示例和可能的代码实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题描述:

A square of squares

You like building blocks. You especially like building blocks that are squares. And what you even like more, is to arrange them into a square of square building blocks!

However, sometimes, you can't arrange them into a square. Instead, you end up with an ordinary rectangle! Those blasted things! If you just had a way to know, whether you're currently working in vain… Wait! That's it! You just have to check if your number of building blocks is a perfect square.

Task

Given an integral number, determine if it's a square number:

In mathematics, a square number or perfect square is an integer that is the square of an integer; in other words, it is the product of some integer with itself.

The tests will always use some integral number, so don't worry about that in dynamic typed languages.

Examples:

isSquare(-1) returns  false
isSquare(0) returns   true
isSquare(3) returns   false
isSquare(4) returns   true
isSquare(25) returns  true  
isSquare(26) returns  false

代码实现:

#codewars第四题
import math
def is_square(n):
    if n >= 0 and math.sqrt(n) == math.floor(math.sqrt(n)):  #floor向下圆整
        return True
    else:
        return False
    
#第二中解法
import math
def is_square(n):
    return n > -1 and math.sqrt(n) % 1 == 0; #巧妙的除1取余  整数求余必为0  非整数求余不为0
is_square(26)

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值