首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >这一行Java流意味着什么?

这一行Java流意味着什么?
EN

Stack Overflow用户
提问于 2022-04-12 14:07:45
回答 1查看 60关注 0票数 0

所以我有这行代码。它给了我628的输出。你们知道为什么吗?我不知道有人想打印什么样的数字。

代码语言:javascript
复制
System.out.println( IntStream.range(1,30).filter(n -> IntStream.range(1,n).filter(i->n%i == 0).sum() ==n)
               .boxed().collect(Collectors.toList()));
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-04-12 14:21:44

代码语言:javascript
复制
IntStream.range(1,n).filter(i -> n % i == 0).sum() == n

通过检查被潜在除数除以的n是否没有余数(i -> n % i == 0)来计算n的所有除数。然后对所有的除数进行求和,并与n本身进行比较。

代码语言:javascript
复制
IntStream.range(1,30).filter(n -> ...).boxed().collect(Collectors.toList())

只需对1到30之间的数字执行我前面描述的操作,并且只保留比较为true的数字。因此,它计算1到30之间的所有数字,其中除数之和为数字本身。这些被称为完全数。前两个分别是6和28,然后是496,.

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71844177

复制
相关文章

相似问题

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