当前位置: 首页 > news >正文

天津市城乡建设委员会网站焦作网络推广哪家好

天津市城乡建设委员会网站,焦作网络推广哪家好,怎么做百度网站验证码,苏州网页制作服务商目录 一、题目&#xff1a; 二、思路&#xff1a; 三、代码&#xff1a; 一、题目&#xff1a; 分解因数 《分解因数》题目链接 所谓因子分解&#xff0c;就是把给定的正整数a&#xff0c;分解成若干个素数的乘积&#xff0c;即 a a1 a2 a3 ... an,并且 1 < a1…

目录

一、题目:

二、思路:

 三、代码:


 

一、题目:

分解因数      《分解因数》题目链接

        所谓因子分解,就是把给定的正整数a,分解成若干个素数的乘积,即 a = a1 × a2 × a3 × ... × an,并且 1 < a1 ≤ a2 ≤ a3 ≤ ... ≤ an。其中a1、a2、...、an均为素数。 先给出一个整数a,请输出分解后的因子。 

输入描述:
输入包含多组数据,每组数据包含一个正整数a(2≤a≤1000000)。

输出描述:
对应每组数据,以“a = a1 * a2 * a3...”的形式输出因式分解后的结果。示例1
输入
10

18
输出
10 = 2 * 5

18 = 2 * 3 * 3

二、思路:

        本题是因子分解,但是需要考虑素数的分解。即:

  • 如果是素数:例如 5 = 5
  • 如果是合数:例如12 = 2 * 2 * 3 

         从i = [ 2 , sqrt(a) ]循环判断,如果 i 能被 a 整除,就进入内循环。这个过程类似 《因子个数》的题。方法思路是一样的。题目链接:因子个数

具体思路在代码中。

1、题目要求的输入输出

        因为最后输出有格式要求,所以我们用 printf 格式化输出,每个输出的后面都不一样,所以用字符串进行后面的显示。

        使用 String.join()方法:返回使用指定分隔符拼接后的字符串。传入的参数有两个:分隔符(要以什么符号进行拼接)、需要拼接的字符串的数组/集合...这里使用List

2、质因数分解

         循环从 2 开始判断,注意判断的范围 i <= Math.sqrt(n)  <--等价于--> i * i <= n

如果 n = x * y,那么如果 x <= y ,那么 x 一定在 [ 2 , \sqrt{n} ] 中。

 三、代码:

import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;/*** Created with IntelliJ IDEA.* Description: 质因数分解* User: WangWZ* Date: 2023-04-12* Time: 16:33*/
public class Main {//质因数分解: 分解 nprivate static ArrayList<String> func(int n) {ArrayList<String> ans = new ArrayList<>();//循环判断是否是 n的因子//i <= Math.sqrt(n) 也可以写成 i * i <= nfor(int i = 2; i <= Math.sqrt(n);i++) {//因为题目中,一个因子可以乘积多次,所以用 while循环//每循环一次更新 n 的值,再继续找更新后的 n的值的因子while(n % i == 0) {//此时 i 是 n 的一个因子,所以将 i 加入ans//ans 中存储的是String类型的,而 i是 int类型,所以要进行类型转换//使用String.valueOf(i)ans.add(String.valueOf(i));if(n % 1 == 0) {n = n / i;}}}//判断 n 的值//如果 n != 1,说明此时 n 是素数,其也是传入参数 n 的一个因子//如果 n == 1,说明上面的循环已经把 传入参数 n的全部因子找到了if(n != 1) {ans.add(String.valueOf(n));}//循环结束,返回ansreturn ans;}public static void main(String[] args) {Scanner scanner = new Scanner(System.in);while(scanner.hasNextInt()) {//输入是数字int n = scanner.nextInt();//因为最后输出有格式要求,所以我们用 printf格式化输出//每个输出的后面都不一样,所以用字符串进行后面的显示//使用 String.join()方法:返回使用指定分隔符拼接后的字符串//传入的参数有两个:分隔符(要以什么符号进行拼接)、需要拼接的字符串的数组/集合...//这里使用ListList<String> list = func(n);System.out.printf("%d = %s\n",n,String.join(" * ",list));}}
}

http://www.yidumall.com/news/83521.html

相关文章:

  • wordpress 副标题调用优化大师卸载不了
  • 服务器搭建网站能ping t百度高级搜索引擎
  • 驻马店网站建设外链工具xg
  • 程序员为什么不敢创业做网站百度网盘搜索引擎盘多多
  • 网站怎样做seo推广品牌推广策划方案怎么写
  • 门户手机网站开发怎么在平台上做推广
  • 动态网站和静态网站有什么区别网络销售培训学校
  • 公司建的站加油违法吗文案代写平台
  • wordpress page显示六年级下册数学优化设计答案
  • 南昌智能建站模板注册网站平台
  • 自己做的网站添加交费功能广告传媒公司
  • 网站升级什么意思站长素材官网免费
  • 手机网站自适应分辨率推广平台网站热狗网
  • 建设部网站 干部学院 一级注册建筑师培训 2014年万网域名注册
  • 帝国cms网站建设常熟网站建设
  • 自己做网站难吗搜狗站长工具综合查询
  • dns 部分网站打不开商丘seo
  • 微信公众号外链接网站开发网络营销包括哪些
  • 简历代写合肥网络公司seo建站
  • 用香港服务器建网站做微商怎么注册自己的网站域名
  • 政府部门网站集约化建设方案企业管理培训公司排行榜
  • 阿里巴巴的网站二维码怎么做爱营销电信版下载app最新版
  • wordpress简单易懂的网站文章代写
  • 外贸淘宝网站建设湖南百度推广代理商
  • 公关公司服务的特点包括成都网站快速优化排名
  • 关于1-6月网站建设工作通报b站好看的纪录片免费
  • 网站html静态化解决方案厦门百度竞价
  • 关键词优化排名易下拉软件北京seo顾问外包
  • 贵州微信网站建设专业软文发布平台
  • 世界杯入口直通车关键词怎么优化