首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >计算在给定范围内有多少数字可被完美数除以。

计算在给定范围内有多少数字可被完美数除以。
EN

Code Golf用户
提问于 2014-01-17 09:07:43
回答 2查看 1.1K关注 0票数 7

给定两个任意整数ab,计算在给定范围内有多少数字可被完全数整除(ab都是包含的)。

在数学中,一个完美数是一个正整数,它是它的适当正除数之和,即除数itself.Equivalently外的正除数之和,一个完美数是它的所有正除数之和(包括它本身)之和的一半,即σ(n) = 2n

输入:

代码语言:javascript
复制
1 100

输出:

代码语言:javascript
复制
18
  • 输入/输出使用stdin和stdout
  • 您的代码必须处理大整数,因此它不足以硬编码一个完美数字的列表。
  • 最短代码获胜
EN

回答 2

Code Golf用户

发布于 2014-01-17 11:27:16

Mathatica-117

朴素方法,范围大小是线性的

代码语言:javascript
复制
With[{p=#(#+1)/2&/@Select[2^Range@@Floor@Log2@Sqrt@#-1,PrimeQ]},Length@Select[Range@@#,Or@@Divisible[#,p]&]]&@Input[]

正确的方法是用在给定范围内的完美数字来构造数字。

票数 3
EN

Code Golf用户

发布于 2022-10-06 13:29:39

维沙尔,11字节

代码语言:javascript
复制
ṡƛ'∆K=;Ḋa;∑

在网上试试!

9字节s标志

计算空间分离输入的12个字节

解释了

代码语言:javascript
复制
ṡƛ'∆K=;Ḋa;∑
ṡƛ       ;  # Over each item x in the range [input a, input b]
  '∆K=;     #   Keep items from the range [1, x] that are perfect numbers
       Ḋa   #   And is x divisible by any of those perfect numbers?
          ∑ # Sum the number of numbers that are divisible by a perfect number
票数 0
EN
页面原文内容由Code Golf提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://codegolf.stackexchange.com/questions/18698

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档