java基础编程练习2

2023-11-11

题目:打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。
例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。
程序分析:利用for循环控制100-999个数,每个数分解出个位,十位,百位。

public class TestP3{
	public static void main(String[] args){
		int count = 0;
		for(int i=100;i<=999;i++){
			int baiWei = i/100;
			int shiWei = (i%100)/10;
			int geWei = (i%100)%10;
			
			int b = baiWei*baiWei*baiWei;
			int s = shiWei*shiWei*shiWei;
			int g = geWei*geWei*geWei;
			if(b+s+g == i){
				count++;
				System.out.println("the number is "+i);
			}
		}
		System.out.println("the sum is "+ count);
	}
}


这个题目比较简单,主要是将数字的每一位提取出来,然后再按照要求来判断,只需要一个for循环。

 

题目:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。
程序分析:对n进行分解质因数,应先找到一个最小的质数k,然后按下述步骤完成:
(1)如果这个质数恰等于n,则说明分解质因数的过程已经结束,打印出即可。
(2)如果n<>k,但n能被k整除,则应打印出k的值,并用n除以k的商,作为新的正整数你n,重复执行第一步。
(3)如果n不能被k整除,则用k+1作为k的值,重复执行第一步。
解题要点:了解质因数的概念

import java.util.*;
public class TestP4{
	public static void main(String[] args){
		//int  n = 90;//用来测试
		Scanner s = new Scanner(System.in);
		System.out.print("please entry a number(number > 0): ");
		int n = s.nextInt();
        System.out.print("the number is " + n );
        int k = 2;
        while(k<=n){
			if(k == n){
				System.out.println(n);
				break;
			}
			else if(n % k == 0){//能被整除
				System.out.print(k + "*");
				n = n/k;
			}
			else{
				k++;
			}
		}
	}
}

我个人觉得这道题目的关键,就是理解质因数的算法,这样就能清楚的理解代码中的含义。
http://baike.baidu.com/view/341369.htm,在这我把质因数的百度百科的地址粘贴出来,大家可以看看。

本段代码先找出最小的质因数,K从2开始(K=1在这没什么意义),如果N能被K整除,则K为一个最小的质因数,然后再将除的商赋值给N(如n=n/k),然后继续while循环,判断if(n % k == 0),如此的反复,直到K=N。如果N不能被K整除,则K++,然后继续判断。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

java基础编程练习2 的相关文章

随机推荐

  • Python3,爬虫的HTTP Error、URL Error及混合使用

    爬虫常出现的两种error URL Error HTTP Error HTTP Error 和URL Error 混合使用 URL Error url error 很常见的 就是url地址不正确 或者失效 我们来看看 代码是怎么实现的 co
  • 服务器被攻击了怎么处理?

    服务器若是被黑客或是攻击小组攻击 不同的机房会做出不同的策略调整 封机处理 一般2小时解封 最迟24小时 若是解封后仍然有攻击 则封机时间会增加24 48 72H 再安全的服务器也避免不了网络的攻击 作为一个网络安全运维人员需要做到维护好系
  • SD卡寄存器及对应的CMD命令描述

    目录 1 SD卡寄存器 1 1操作条件寄存器 OCR 1 2卡识别寄存器 CID 1 3特定数据寄存器 CSD 1 4相对地址寄存器 RCA 1 5驱动阶段寄存器 DSR 1 6SD配置寄存器 SCR 1 7SD状态寄存器 SSR 1 8卡
  • signature=5e1766d4239e5ac6aef18e8849a2555c,checksum.xml

    4FD71D2654435626B5FC1D5FB47809D322D9AC3AEDE1A45D1A45070B1820C922522C7D1586CD1C074F3F27D9E73C8F51F554AEE0F07A08ECB6593CAF
  • One-Way Conveyors 【Tarjan缩点+树链剖分】

    One Way Conveyors Aizu 1408 这道题上面推荐大家把maxN开的大一点 不然会RE 我倒是被这个坑了一下 还有一些细节 我将在后面徐徐道来 目前最快还是比较的开心 先讲一下题意 有N个点 M条无向边 然后输入这M条无
  • 回顾与展望

    原文链接 点击打开链接 摘要 8月14日启动 历时130天 全球AI届最大盛事之一 来自65个国家上万名选手参与的首届 AI Challenger全球AI挑战赛 在12月21日落下帷幕 AI Challenger视觉和翻译两大类共五个赛道
  • java快速开发框架---JavaBoot

    基于SpringBoot2倾情打造 面向所有层次的Java开发者 零门槛开箱即用的后台快速开发解决方案 1 系统环境 我们采取了Java EE 8 Servlet 3 0 Apache Maven 3作为环境开发的一套后台的系统 入门快 2
  • 【SSA-LSTM】基于麻雀算法优化LSTM 模型预测研究(Matlab代码实现)

    欢迎来到本博客 博主优势 博客内容尽量做到思维缜密 逻辑清晰 为了方便读者 座右铭 行百里者 半于九十 本文目录如下 目录 1 概述 1 1 麻雀搜索算法 1 2 长短期记忆神经网络 2 运行结果 3 参考文献 4 Matlab代码实现 1
  • x86架构芯片启动过程分析

    1 上电启动顺序 上电自检 读取ROM里的bios程序 bios程序会进行硬件检测 比如 内存 硬盘 显卡等 bios完成自检后 需要选择引导设备 比如设备上有U盘 SSD eMMC 机械硬盘 bios需要知道从哪个启动介质去启动计算机 b
  • (android地图开发) 高德地图自定义对话框

    截图效果 布局文件
  • 【Python】不用numpy用纯python求极差、平均数、中位数、众数与方差,python的打印到控制台

    python作为数据分析的利器 求极差 平均数 中位数 众数与方差是很常用的 然而 在python进行统计往往要使用外部的python库numpy 这个库不难装 然而 如果单纯只是求极差 平均数 中位数 众数与方差 还是自己写比较好 因为
  • Android输入系统(一)——初始化阶段(基于Android 13)

    1 输入事件的处理流程 输入系统大致可分为三部分 输入系统部分 WMS部分和View处理部分 用户输入需要通过输入子系统将原始信息转化为事件交由InputManagerService进行处理加工并找到合适的Window 将事件分发到对应的W
  • 开源代码审查工具Sonarqube简单使用

    官网地址 Code Quality and Code Security SonarQube 目录 1 下载 安装 1 1 安装 1 2 启动 2 代码审查 2 1 新建项目 2 2 关联代码 3 其他 1 下载 安装 SonarQube提供
  • 非科班如何流畅转码进入计算机领域?

    近年来 许多人都抱着梦想跨足计算机领域 尽管他们并非计算机科班出身 对于这个野心勃勃的群体 如何实现丝滑转码成为了一个备受瞩目的话题 本文将深入探讨这个问题 为你呈现一些实用的建议 帮助你在这个挑战充满机遇的领域里取得成功 如何规划才能实现
  • springboot2.0+vue 详细整合UEditor教程

    这里写自定义目录标题 前期准备 1 Vue 2 后端springboot 2 0 3 成功效果图 遇到问题 1 配置文件失败 2 未找到上传数据 3 百度编辑器callback参数名不合法 4 编辑器纯文本粘贴 不屏蔽图片 5 百度编辑器视
  • 数字图像处理 拉普拉斯(Laplace)变换 边缘检测算子(二阶导 sobel)变换 锐化(反锐化模板锐化) 算法实现及效果

    程序代码 clear 拉普拉斯变换 A imread Moon jpg Laplace1 A Soble变换 B imread lens jpg Soble1 B 锐化 C imread rabbit jpg C C 1 st 3 k 1
  • 腾达ac10远程服务器未响应,使用技巧大揭秘,轻松搞定腾达路由AC10

    自腾达路由AC10发布以来 已经过去快2个月的时间 现在一文揭秘AC10使用技巧 教你轻松get路由小知识 一 腾达AC10天线使用了什么技术 腾达AC10配备四根高性能刀锋天线 采用新一代11AC 2 0无线技术MU MIMO 可以与多个
  • Set接口理解 常用实现类 常用方法

    问题 首先让我们先带着几个问题来进行接下来的学习 1 Set接口和List接口的区别是什么 2 Set接口有什么特点 3 Set接口的实现类有哪些 接下来正式开始分析讲解Set接口 1 Set接口和List接口的区别是什么 List允许存储
  • 区块链入门知识笔记

    区块链 Blockchain 是比特币的一个重要概念 它本质上是一个去中心化的数据库 同时作为比特币的底层技术 是一串使用密码学方法相关联产生的数据块 每一个数据块中包含了一批次比特币网络交易的信息 用于验证其信息的有效性 防伪 和生成下一
  • java基础编程练习2

    题目 打印出所有的 水仙花数 所谓 水仙花数 是指一个三位数 其各位数字立方和等于该数本身 例如 153是一个 水仙花数 因为153 1的三次方 5的三次方 3的三次方 程序分析 利用for循环控制100 999个数 每个数分解出个位 十位