当前位置:首页|资讯

【题解】「蓝桥·算法双周赛」第十八场分级赛——小白入门赛 3.村长分钱

作者:A万俟罐君发布时间:2024-09-07


题干

题目描述比较复杂,但实际上就是在求(n-k)的所有大于k的因数

但因为数据范围比较大,直接暴力枚举容易爆时限,所以这里考虑优化,方法是缩小范围。

因为一个数所有的因数都是成对出现的,其中必有一个大于该数的平方根,一个小于该数的平方根,因此将范围由原来的 1到n-k  变成  1 到 n-k的平方根。

但要注意的是此时循环范围里只考虑了小于n-k的平方根的因数,相当于只算了单侧,所以记得把它的另一半也带上,再注意小于k的因数要舍去。

引入sqrt函数来求平方根,代码如下:

ac代码



Copyright © 2025 aigcdaily.cn  北京智识时代科技有限公司  版权所有  京ICP备2023006237号-1