java练习6(完数)

Java编程实现1000以内完数求解 完数,又称亲和数,是指一个数恰好等于它的因子(自身除外)之和。例如,第一个完数是6,它的因子1、2、3相加等于6。在数学史上,完数的研究可以追溯到古希腊数学家毕达哥拉斯,而至今,这类数的探索仍然是数论中的一个迷人主题。因数分解是数学中的一个基础概念,涉及到数论的核心部分。首先,我们来明确“因数”和“因子”的定义。因数:在数论中,如果整数a能够被整数b(b不为零)整除,那么称b是a的一个因数。例如,6可以被1、2、3和6整除,因此1、2、3和6都是6的因数。因子。 阅读详情

题目:一个数如果恰好等于它的(真)因子之和,这个数就被称为“完数”。例如,6的(真)因子为1、2、3,而6=1+2+3,因此6是“完数”。试编写程序,找出1000以内的所有“完数”,并按照下面格式输出其因子:

        6 Its factors are 1,2,3

public class Chp2_18{
	public static void main(String[] args){
		for(int i = 2; i <= 1000; i++){
			int sum = 1; //1一定是因数
			String factors = "1";
			for(int j = 2; j < i; j++){
				if(i%j == 0){
					sum += j;
					factors = factors + "," + String.valueOf(j); //输出格式
				}
			}
			if(sum == i) // 判断是不是完数
				System.out.println(i + " Its factors are " + factors);
		}
	}
}

输出:

6 Its factors are 1,2,3
28 Its factors are 1,2,4,7,14
496 Its factors are 1,2,4,8,16,31,62,124,248

deepseek:

public class PerfectNumbers {
    public static void main(String[] args) {
        System.out.println("1000以内的完数有:");
        
        for (int num = 2; num <= 1000; num++) {
            if (isPerfectNumber(num)) {
                printFactors(num);
            }
        }
    }
    
    // 判断一个数是否是完数
    public static boolean isPerfectNumber(int num) {
        int sum = 0;
        for (int i = 1; i < num; i++) {
            if (num % i == 0) {
                sum += i;
            }
        }
        return sum == num;
    }
    
    // 打印完数及其因子
    public static void printFactors(int num) {
        System.out.print(num + " Its factors are ");
        
        // 先收集所有因子
        StringBuilder factors = new StringBuilder();
        for (int i = 1; i < num; i++) {
            if (num % i == 0) {
                if (factors.length() > 0) {
                    factors.append(",");
                }
                factors.append(i);
            }
        }
        
        // 输出因子(用中文逗号分隔)
        String output = factors.toString().replace(",", ",");
        System.out.println(output);
    }
}

所以为什么不一开始就用中文逗号...

tips:

1. StringBuilder(deepseek)

StringBuilder 的常用方法

方法说明
append(String str)在末尾追加字符串
insert(int offset, String str)在指定位置插入字符串
delete(int start, int end)删除指定范围的字符
replace(int start, int end, String str)替换指定范围的字符串
reverse()反转字符串
toString()转换为 String 对象
length()返回当前长度
charAt(int index)返回指定位置的字符

2. replace不需要保持长度一致

3. StringBuilder不是String,需要用toString转换,但是println和字符串拼接(+)时会自动调用toString()

4. StringBuilde和r字符串拼接对比

StringBuilder 的主要特点

  1. 可变性:可以动态修改内容(追加、插入、删除等),而不会产生大量临时对象。

  2. 高效性:适用于大量字符串拼接的场景(例如循环拼接)。

  3. 非线程安全:与 StringBuffer 不同,StringBuilder 不保证线程安全,但因此性能更高。
    (如果需要在多线程环境下使用,改用 StringBuffer

使用StringBuilder可以避免 String 的频繁拼接:如果用 String 直接 + 拼接,每次都会创建新对象,影响性能:factors = factors + "," + String.valueOf(j);

馈电网络设计:通过Smith圆图工具完成微带线到同轴探针的阻抗匹配 Smith圆图通过图形化阻抗变换路径,显著简化微带线到同轴探针的匹配设计。设计需结合理论计算(微带线阻抗公式、探针等效模型)、圆图操作(串联/并联元件移动规则)及仿真验证,最终实现宽带低反射匹配。 阅读详情

相关推荐

【Spring源码三千问】哪些循环依赖问题Spring解决不了?

哪些循环依赖问题Spring解决不了?前言版本约定正文场景一: prototype 类型的循环依赖场景二: constructor 注入的循环依赖场景三:Proxy 类型的 Bean 的循环依赖小结 系列博文: 【老王读Spring IoC-0】Spring IoC 引入 【老王读Spring IoC-1】IoC 之控制反转引入 【老王读Spring IoC-2】IoC 之 BeanDefinition 扫描注册 【老王读Spring IoC-3】Spring bean 的创建过程 【老王读Spring I

老王的专栏 7319

Java编程题之完数

题目:一个数如果恰好等于它的因子之和,这个数就称为 "完数 "。例如6=1+2+3.编程 找出1000以内的所有完数。 System.out.println("1到1000的完数有: "); for (int i = 1; i < 1000; i++) { int t = 0; for (int j = 1; j <= i / 2; j++) { if (i % j == 0) { t = t + j; } if (t == i) {

weixin_46503529的博客 363

FPGA之道(22)VHDL基本程序框架

在介绍详细的VHDL语法之前,让我们先来了解一下VHDL代码的基本程序框架,这样可以让我们先对VHDL程序设计有一个整体的概念把握,进而在后续的VHDL语法学习中做到有的放矢。

Reborn Lee 8309

Java50道经典习题-程序9 求完数

题目:一个数如果恰好等于它的因子之和,这个数就称为"完数"。例如6=1+2+3.编程找出1000以内的所有完数。 public class Prog9 { public static void main(String[] args) { int n=1000; compNumber(n); } //求完数 private static void compNumber(int n...

Welcome to parkour's blog. 671

数据分析项目:电商用户行为分析系统

本报告基于某电商平台用户行为数据(采样10%),通过清洗、探索性分析及多维度建模,旨在挖掘用户行为特征、商品销售规律及用户价值分层,为运营策略优化提供数据支持。原始数据字段:用户ID、商品ID、类目ID、行为类型、时间戳。长尾商品(购买量低)可考虑捆绑销售或限时折扣,提升动销率。长尾商品(购买量低)可考虑捆绑销售或限时折扣,提升动销率。,少数高活跃用户贡献大部分行为,多数用户行为次数较少。

Nervousr的博客 1703

RS485/CAN总线防护电路设计:TVS选型与ESD防护实战解析

本文深入解析了RS485与CAN总线防护电路设计中的TVS选型与ESD防护实战技巧。针对工业现场常见的静电放电、浪涌等干扰,文章详细阐述了TVS管关键参数的选择、多级防护体系的构建,并特别强调了在隔离电路设计中地回路处理的重要性,帮助工程师设计出更可靠的通信接口。

metaverse5vr的博客 389

java练习6. 求完数

题目:请编程求出1000 以内的所有完数。 完数:一个数如果恰好等于它的所有真因子(即除了自身外的所有因数)之和,这个数就称为"完数"。

Mr_wenhan的博客 334

股票行情接口,最全的接入方法

股票行情接口一般有两种,一种是WebSocket,一种是http,通过WebSocket可以获取逐笔的股票tick数据,实时并且高效;通过http接口可以获取股票行情接口中的股票历史数据;WebSocket是一种高效的双向通信协议,它允许数据的实时推送,避免了不断的轮询请求。其次,WebSocket允许您订阅特定的数据源或股票数据产品,只接收您感兴趣的信息,提高了数据的效率和可用性。通过接入股票行情数据的HTTP接口,您可以将数据导入到自己的分析工具或系统中,进行更深入的数据分析、模型构建和决策支持。

apifinance的博客 3425

完数java限制1ms_程序设计入门——C语言 第6周编程练习 2 完数(5分)

2完数(5分)题目内容:一个正整数的因子是所有可以整除它的正整数。而一个数如果恰好等于除它本身外的因子之和,这个数就称为完数。例如6=1+2+3(6的因子是1,2,3)。现在,你要写一个程序,读入两个正整数n和m(1<=n提示:可以写一个函数来判断某个数是否是完数。输入格式:两个正整数,以空格分隔。输出格式:其间所有的完数,以空格分隔,最后一个数字后面没有空格。如果没有,则输出一行文字:NI...

weixin_42389522的博客 149

【MATLAB】工业传送带速度闭环控制与张力联合仿真

本文基于MATLAB/Simulink平台,构建了工业传送带速度闭环控制与张力联合仿真系统。通过搭建驱动模块、机械传动模块、检测模块和控制模块,实现了速度与张力的协同控制。采用双PID调节器分别整定速度与张力参数,经联合调试后系统性能良好:速度跟踪误差小于±0.03m/s,张力波动控制在±30N内,负载扰动恢复时间仅0.3秒。研究提供了从建模到参数优化的完整工程方案,可直接应用于课程设计或工业实践,有效解决了传送带运行中速度偏差与张力波动的协同控制难题。

unber的博客 78

解决宿主机Ping不通虚拟机的问题

在使用虚拟机的过程中,我们常常会遇到宿主机和虚拟机之间无法相互通信的问题。具体来说,我们要查看虚拟机和宿主机的 IP 地址,然后尝试进行 Ping 测试。在某些情况下,我们可能发现 Ping 虚拟机不通,接下来我将分享如何解决这个问题。

howard2005的专栏 7万+

Java练习题8.1

Java练习题8.1 1、输入6个整数,求出它们的和以及最大值并输出。 package com.shangjiti.aoian; import java.util.Scanner; public class Ex1 { public static void main(String[] args) { System.out.println("请输入6个整数:"); Scanner sc=new Scanner(System.in); int n1=sc.nextInt(); int n2=sc.ne

Aoian的博客 712

JavaScript - Blob / File / base64 使用场景介绍与相互转换

前言 本文首先介绍一下这三种对象使用场景,最后介绍下它们之间互转格式的解决方案。 您前端一旦涉及到文件或图片上传到服务器, 就势必离不了Blob/File/base64三种主流的类型。 Blob MDN:https://developer.mozilla.org/zh-CN/docs/Web/API/Blob 您可以观察到,像一些图片处理插件(例如有名的vue-cropper)图片裁剪插件, 它们将图片处理完毕后,都将使用blob对象返回处理好的图片,供开发者用于上传服务器。

🏆 前端领域优质创作者 4495

Java常见编程练习题-一个数如果恰好等于它的因子之和,这个数就称为”完数”。例如6=1+2+3.编程找出1000以内的所有完数。求1! + 2! + 3! +…+ 5!。输入一个整数计算该数有多少位

一个数如果恰好等于它的因子之和,这个数就称为”完数”。例如6=1+2+3.编程找出1000以内的所有完数。求1! + 2! + 3! +…+ 5!。​​​​​​​输入一个整数,计算该数有多少位 ,例如123有3位。

bxy0806的博客 1474

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

Java基础实验一 T6

(6) 一个数如果恰好等于它的因子之和,这个数就称为 "完数 "。 例如6=1+2+3.编程找出1000以内的所有完数。 public class T6 { public static boolean Is_perfect(int num) { int sum =0; for(int i=1;i<num;i++) { if(num%i==0) { ...

qq_43699747的博客 265

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

完数 Java

题目内容: 一个正整数的因子是所有可以整除它的正整数。而一个数如果恰好等于除它本身外的因子之和,这个数就称为完数。例如6=1+2+3(6的因子是1,2,3)。 现在,你要写一个程序,读入两个正整数n和m(1&lt;=n&lt;m&lt;1000),输出[n,m]范围内所有的完数。 代码: public class Main { public static boolean isIntegr(int...

linuscool的博客 5642

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

java求完数的代码

用java求完数: 题目:一个数如果恰好等于它的真因子(即不包括它本身)之和,这个数就称为"完数"。例如6=1+2+3.请编程找出1000以内的所有完数。 代码如下: package homework08.homework0824; public class Demo { /*11.一个数如果恰好等于它的真因子(即不包括它本身)之和,这个数就称为"完数"。 例如6=1+2+3.编程 找出1000以内的所有完数。*/ public static void main(String[]

faramita_of_mine的博客 8197

java求1000以内所有完数

这回是java编写,求1000以内所有完数。 完数:一个数如果恰好等于除它本身外的因子之和,这个数就称为完数。 例:6=1+2+3(6的因子是1,2,3)。 public class java7{ public static void main(String args[]){ int i,j; int sum=0; for(i=1;i<...

Eihjteen的博客 3984

编写一个判断完数的函数python_完数

计算完数的题我错的忘记了amount 需在第一重循环中初始化值为“0”public class Test {public static void main(String[] args) {// TODO 自动生成的方法存根int amount;System.out.println("所有完数是");for(int i = 1; i...

weixin_39643336的博客 3787

java求完数的三种方法

package al; /** * @author zhangrichao * @version 创建时间:2019年1月6日 下午8:55:34 * 求完数 */ 第一种方法:减法方式 public class PerfectNumber { public static void PerfectN(){ for(int a=2;a&lt;=1000;a++){ ...

zrcshendustudy的博客 1万+

【java】完数的判断

完数的判断 题目描述 一个数如果恰好等于不包含它本身所有因子之和,这个数就称为"完数"。 例如,6的因子为1、2、3,而6=1+2+3,因此6是"完数"。 编程序找出N之内的所有完数,并按下面格式输出其因子 输入 N 输出 ? its factors are ? ? ? 样例输入 1000 样例输出 6 its factors are 1 2 3 28 its factors are 1 2 4 ...

weixin_46014378的博客 1494

Java求1到1000以内的完数

/* 求1到1000以内的完数 所谓的完数是指一个数恰好等于它的所有因子之和 例如:6=1+2+3 */ public class PerfectNumber { public static void main(String[] args) { System.out.print("1到1000的完数有: "); fun();// 调用静态方法 }

秋叶为何落 2万+

java 求100以内的完数

java 求100以内的完数 什么是完数: 一个数正好等于它的因子之和,就叫做完数 因子就是除去这个数本身的其它约数 代码: public class Main { public static void main(String[] args) { for (int i = 1; i < 100; i++) { int sum = 0; //记录因子和 for (int j = 1; j < i; j++) { //找这个数的因子

qq_43693115的博客 4828

Java-完数

完数(5分) 题目内容: 一个正整数的因子是所有可以整除它的正整数。而一个数如果恰好等于除它本身外的因子之和,这个数就称为完数。例如6=1+2+3(6的因子是1,2,3)。 现在,你要写一个程序,读入两个正整数n和m(1<=n<m<1000),输出[n,m]范围内所有的完数。 提示:可以写一个函数来判断某个数是否是完数。 输入格式: 两个正整数,以空格分隔。 输出格式: 其间所有...

Priest_One的博客 586

算法(13)求1000以内的完数

这篇博客实现了求完数的小算法

扬帆向海的博客 9063

关于完数的输出——java程序

/* Copyright (c) 2011, 烟台大学计算机学院学生 * 作 者: 李兆庆 * 完成日期: 2012 年 9 月 16 日 * 输入描述: * 问题描述及输出: /*1.若一个自然数,它所有的真因子(即除了自身以外的约数)

lizhaoqing123的专栏 3083
上一篇: java练习5
下一篇: java练习7(求序列和)
c_____e
博客等级 码龄2年 19粉丝 22原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值