关于java1000以内完数的信息

JAVA编程题:找出1000以内的完数:一个数如果恰好等于它的因子之和,这个数就称为 “完数 “。例如6=1+2+3.

include iostream

using namespace std;

int main() {

for (int i = 2; i = 1000; i++) {//从2到1000的数

int sum = 0;//因子总和

for (int j = 1; (j * j) = i; j++) {//j做除数,√n复杂度,减少一半的计算量

if (i % j == 0) {//可以整除,为其因子

sum = j + (i / j) + sum;//因子之和

}

}

if ((sum – i) == i) cout “1000以内的完数:” i endl;//因子之和减去其本身(1*i也为其因子)如果等于这个数本身,则为完数

}

}

扩展资料

在数学领域,6是第一个完全数,也是最小的完全数。所谓完全数(又称完美数或完备数),是一种特殊的自然数;它所有的真因子(即除了自身以外的约数)的和,恰好等于它本身。

例如6有约数1、2、3、6,除去它本身6外,其余3个数相加,1+2+3=6;第二个完全数是28,它有约数1、2、4、7、14、28,除去它本身28外,其余5个数相加,1+2+4+7+14=28。公元前6世纪的古希腊数学家、哲学家毕达哥拉斯是最早探究完全数的人,他已经知道6和28这两个自然数是完全数了。

参考资料来源:百度百科-C语言

关于java1000以内完数的信息

用java代码求1000之内的所有完全数

import java.util.ArrayList;

public class Testa {

public static void main( String[] args ) {

ArrayListInteger arrayList = new ArrayListInteger();

for ( int i = 1; i = 1000; i++ ) {

int k=0;

for(int j=1;ji;j++){

if(i%j==0){

k+=j;

}

}

if(k==i){

arrayList.add( i );

}

}

System.out.println(arrayList);

}

}

java求1000以内的完数有哪些

public class Test {

    public static void main(String[] args) {

        Scanner sc = new Scanner(System.in);

        System.out.print(“输入数字:”);

        int k = sc.nextInt();

        String answer = “完数有: “;

        long startTime = System.currentTimeMillis();

        for (int i = 1; i = k; i++) {

            int n = 0;

            for (int j = 1; j = (i / 2); j++) {

                if (i % j == 0) {

                    n += j;

                }

            }

            if (n == i) {

                answer += i + ” “;

            }

        }

        long endTime = System.currentTimeMillis();

        System.out.println(answer);

        System.out.println(“Time use:” + (endTime – startTime) + “ms”);

        sc.close();

    }

}

编写java循环程序,找出1000以内的所有完数

public class Test {

    public static void main(String[] args) {

        int i,j,sum;    //sum用来存放因子之和        

        for(i=1;i1000;i++)   //对1到1000以内的数依次尝试

        {

           sum = 0;          //给sum赋值,同时也是对上一次的值清空

           for(j=1;j=i/2;j++)   //查找因子

           {

               if(i%j==0)          // 如果是因子

               {

                    sum+=j;        //把当前的因子累加到sum中   

               }

           }

           if(sum==i)            //判断是不是完数,即因子之和等于自身

           {

               System.out.print(i+” its factors are:   “);        //是完数,输出

            for(j=1;j=i/2;j++)                          //再次找出这个完数的因子

            {

               if(i%j==0)                                    //输出各个因子

                System.out.print(j+”, “);

               }

               System.out.println();

            }

        }

    }

}

这些题百度里面都是找得到的

java求1000以内的完数且输出因子?

public class test{

private static boolean isZhiShu(int num){

int count = 0;

for (int i = 1; i num; i++) {

if(num%i==0){

count++;

}

}

if (count==0) {

return true;

}else {

return false;

}

}

private static boolean calc(int num){

int sum = 0;

if (isZhiShu(num)==false) {

for (int i = 1; i num; i++) {

if (num%i==0) {

sum+=i;

}

}

}

if (sum==num) {

return true;

}else {

return false;

}

}

public static void showYinShu(int num){

if (calc(num)==true) {

System.out.print(num+”=”);

for (int i = 1; i num; i++) {

if(num%i==0){

if(num/2!=i){

System.out.print(i+”+”);

}else{

System.out.print(i);

}

}

}

System.out.println(“”);

}

}

public static void main(String[] args) {

System.out.println(“1000以内完数有:”);

for (int i = 1; i = 1000; i++) {

showYinShu(i);

}

}

}

本文来自投稿,不代表【】观点,发布者:【

本文地址: ,如若转载,请注明出处!

举报投诉邮箱:253000106@qq.com

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2024年3月24日 05:30:57
下一篇 2024年3月24日 05:40:17

相关推荐

  • 关于avrstudio6c语言的信息

    c语言的程序员们你们公司用的开发工具是什么呢? 学c语言可以用的软件推荐如下:TurboC是由美国Borland公司开发的一套C语言程序开发工具,Borland公司是一家专门从事软件开发、研制的大公司。 Code:Blocks是一个开放源码的全功能的跨平台C/C++集成开发环境。Code:Blocks是开放源码软件。Code:Blocks由纯粹的C++语言开…

    2024年5月23日
    4600
  • 关于java如何查找线程的信息

    kill-3生成的线程堆栈怎么查看 通过给JVM发送一个SIGQUIT信号,您可以得到一个线程堆。 threaddump文件就是文本文件,可以使用任何文本查看工具进行查看; 建议使用比较高效的工具,比如more, less 等。 “Full thread dump”是一个全局唯一的关键字,你可以在中间件和单机版本Java的线程堆栈信息的输出日志中找到它(比如…

    2024年5月23日
    4000
  • 关于javasocketreader的信息

    用JAVA编写一个socket通信程序。 1、java编程对于Socket之间的通信过程如下:服务端往Socket的输出流里面写东西,客户端就可以通过Socket的输入流读取对应的内容。 2、服务端初始化ServerSocket,然后对指定的端口进行绑定,接着对端口及进行监听,通过调用accept方法阻塞。 此时,如果客户端有一个socket连接到服务端,那…

    2024年5月23日
    7900
  • 关于javapitfallspdf的信息

    怎么用java动态生成pdf文档 1、首先,您需要在 Java 程序中添加 Spire.Xls.jar 文件作为依赖项。您可以从这个链接下载 JAR 文件;如果您使用 Maven,则可以通过在 pom.xml 文件中添加以下代码导入 JAR 文件。 2、iText是着名的开放源码的站点sourceforge一个项目,是用于生成PDF文档的一个java类库。通…

    2024年5月23日
    4300
  • 关于pythonexcel打印设置字体的信息

    如何使用python更改excel表中的字体属性 字体,背景,边框等的颜色都可以通过三种方式设置:索引,aRGB或主题。 索引颜色是旧版实现,颜色本身取决于工作薄或应用程序默认提供的索引。主题颜色可用于互补色,但也取决于工作薄中存在的主题,因此,建议使用RGB颜色。 有着一定的参考价值,有需要的朋友可以参考一下可使用的第三方库python中处理excel表格…

    2024年5月23日
    4600
  • 关于linuxjpeg下载的信息

    请问怎么用grub2直接引导win10,本人Linux新手 第一步,当然是下载linux ubuntu1x的镜像了,这个小伙伴可以百度,去正规的网站现在,这里,我先提供一个站点:mirrors.xmu.edu.cn,厦门大学的信息与网络中心。里面有很多linux版本。有Deepin CenOS ubuntu什么什么的。 第一步:\x0d\x0a当然是下载Ub…

    2024年5月23日
    5200
  • 关于excel2013vc的信息

    如何利用VC++自动生成Excel表格 1、首先,我们需要点击文件菜单栏按钮。然后,我们点击生成EXE按钮。接下来,我们点击保存路径。然后,我们输入我们想要保存的文件名。最后,我们点击确定按钮。然后,我们便可以看到,在桌面生成了Excel表格了。 2、在主对话框中加入一个按钮 ID IDC_EXCELTEST Caption Test Excel 双击该按钮…

    2024年5月23日
    5200
  • 关于2t硬盘linux分区的信息

    linux硬盘2TB限制问题 1、Linux中进行磁盘分区一般是用fdisk这个命令,但是fdisk命令无法支持大于2TB以上的分区,而parted命令却是用于2TB以上大小的磁盘分区的工具。 2、asm无法识别2t磁盘是因为在分区的时候造成的,所以asm和linux都会有这个2T的限制。磁盘分区主要有MBR和GPT两种方式,发生2T限制的正是这个MBR方式…

    2024年5月23日
    8300
  • 关于linux下载geneontology的信息

    下载GO/KEGG某一pathway的genelist 功能(GO)或者通路(Pathway)富集分析时,都会涉及到 Background; 做分析时,分析工具会提供一些数据供使用者选择或者使用自定义的gene list。 clusterProfiler是一个功能强大的R包,同时支持GO和KEGG的富集分析,而且可视化功能非常的优秀,本章主要介绍利用这个R包…

    2024年5月23日
    5000
  • 关于linux下的mnt目录的信息

    Linux目录结构 总体而言,Linux系统的文件系统由块设备、分区、文件系统、目录结构、文件和元数据以及挂载点等组成。这种组织结构和层次关系提供了对文件和目录的有效管理和访问机制。 根目录和家目录均只是一种linux文件挂载点,linux采用树状发展目录结构根目录就是第一级,家目录与根目录看起来只是一个一级目录和二级目录的关系,实际上差别很大。 首先,打开…

    2024年5月23日
    5400

发表回复

登录后才能评论



关注微信