首页 > 编程语言 >Java—10000000以内完美数

Java—10000000以内完美数

时间:2023-02-08 10:31:32浏览次数:41  
标签:10000000 Java 完美 pow 质数 int X2 public Math


摘要: 完美数的定义:所有的真因子(即除了自身以外的约数)的和恰好等于它本身。
例如:
6=1+2+3
28=1+2+4+7+14
496=1+2+…

如果用for循环的话会运行很长时间,所以求完美数有一个公式:
(2^p-1)X 2^(p-1)便是一个完全数。(其中 p(2^p-1)是一个素数)

例如p=2,是一个质数,2^ p-1=3也是质数,(2^ p-1)X2^(p-1)=3X2=6,是完全数。

例如p=3,是一个质数,2^ p-1=7也是质数,(2^ p-1)X2^(p-1)=7X4=28,是完全数。

例如p=5,是一个质数,2^ p-1=31也是质数,(2^ p-1)X2^(p-1)=31X16=496是完全数。

代码如下:

import  java.util.Scanner;
public class Text1 {
public static int fn(int n) {
int i,k;
k= (int) Math.sqrt(n);
for(i=2;i<=k;i++) {
if(n%i==0)
return 0;
}
return 1;
}
public static void main(String[] args) {
int i,j,k,n;
k=10000000;
n=1;
for(i=2;i<20;i++) {
if(fn(i)==1&&fn((((int)Math.pow(2,i))-1))==1){
n=(((int)Math.pow(2,i))-1)*((int)Math.pow(2,i-1));
if(n<k) {
System.out.println(n);
}
else
break;

}

}
}
}

输出:

6
28
496
8128


标签:10000000,Java,完美,pow,质数,int,X2,public,Math
From: https://blog.51cto.com/u_14935708/6043616

相关文章

  • JAVA WEB项目大文件上传下载组件
    ​ 最近遇见一个需要上传百兆大文件的需求,调研了七牛和腾讯云的切片分段上传功能,因此在此整理前端大文件上传相关功能的实现。在某些业务中,大文件上传是一个比较重要的......
  • Java学习记录(一)
         ......
  • JavaScript 判断字符串是否包含某个字符串
    String对象1、indexOf() 【返回某个指定的字符串值在字符串中首次出现的位置。 如果要检索的字符串值没有出现,则该方法返回-1。】eg:varstr="我爱中国";console......
  • JavaScript 的async、await功能
    asyncfunctionasyncfunction说明和C#中的使用类似。不过Task在Javascript中使用的是Promise对象。asyncfunction的返回值asyncfunctiontestAsyncFunction(){......
  • 安装和配置Java开发环境JDK
    我们通常软件开发的操作系统选择Windows,生产环境选择linux或windowsServer。移动开发可能是安卓或IOS和鸿蒙系统等。Windows下一般选择的是64位的操作系统,一般建议CPUI5......
  • 快速上手Java开发工具Eclipse之简易手册
    Eclipse下载,可以下载最新版本,文档是以2020-12R版本为例http://www.eclipse.org/downloads/ 下载Packages即可安装Eclipse 解压安装除了我的电脑----高级---环境变......
  • 读Java实战(第二版)笔记04_用流收集数据
    1. 方便程序员和可读性是头等大事!1.1. 函数式API设计更易复合和重用2. 归约和汇总为一个值2.1. counting()2.1.1. 计数2.2. maxBy2.2.1. 查找流中的最大值2......
  • javascript:DOM/BOM练习
    javascript:DOM/BOM练习    一、BOM/DOM练习内容1<!DOCTYPEhtml>2<html>3<head>4<metacharset="utf-8">5<title>菜鸟教程(runoob.com)</t......
  • jmap查看java进程占用的数据库连接数
    https://codeleading.com/article/62714982205/存活的连接jmap-histo:live96984|grepcom.mysql.jdbc.JDBC4Connection总共的连接对象jmap-histo96984|grepc......
  • 记一次Java崩溃崩溃问题——IPv6 与 glibc的bug
    最近一段时间,项目组的后端和APP端进行联调的时候,会发现测试服务器的后端服务器会经常莫名其妙地崩溃,最后会生成一份崩溃日志(hs_err_pid.log)。日志的大概信息如下:##Afat......