k个数乘(cheng)

题目描述
桐桐想把一个自然数N分解成K个大于l的自然数相乘的形式,要求这K个数按从小到大排列,而且除了第K个数之外,前面(K-l)个数是N分解出来的最小自然数。例如:N=24,K=2时,输出为24=2×12,而不是24=4×6;如N=3,K=I时,3=3; N=3,K=2时,输出则为“No answer!”。你能帮助她吗?

输入
第1行:N(2≤N≤107);
第2行:K(1≤K≤100)。

输出
输出样例格式的分解式。

样例输入
24
2
样例输出
24=2*12

import java.util.Scanner;public class k个数乘2 {public static int n = 0, k = 0,count=0;public static boolean bool = false;public static StringBuilder sb = new StringBuilder("");public static void main(String[] args) {Scanner sc = new Scanner(System.in);n = sc.nextInt();k = sc.nextInt();sb.append(n + "=");if(Math.pow(2, k)>n){System.out.println("No answer!");System.exit(0);}sc.close();StringBuilder sb = new StringBuilder("");sb.append(n+"=");int m=n;while(n!=1&&--k>0){A:for (int i = 2; i <=n; i++) {if(n%i==0){n/=i;sb.append(i+"*");
//                  k--;break A;}
//              if(i==Math.sqrt(m)-2) {//                  System.out.println("asd");
//              }}}
//      System.out.println(sb);if(n!=1){sb.append(n);}else{sb.deleteCharAt(sb.length()-1);}
//      System.out.println(k);if(k==0)System.out.println(sb);elseSystem.out.println("No answer!");
//      int [] num = new int [k];
//      for (int i = 0; i < num.length; i++) {//          num[i]=2;
//          n/=2;
//      }
//      int nums =(int) Math.pow(2, k);
//      int index =k-1;
//      while(n!=1){            if(nums/ num[index]++ *num[index]>n)
//      }}}

Java实现k个数乘(cheng)(自然数的k乘积问题)相关推荐

  1. 剑指offer——最小的K个数和数组中第K大的元素

    解题思路: 乘着做这个题,顺便复习下堆排序. 先说堆排序是一个什么东西:https://blog.csdn.net/u013384984/article/details/79496052 大顶堆升序, ...

  2. 求解N个值中最大的k个数,N远大于k

    该方法思想:将N个数分为N/K段,查找每一段的最大值,然后在N/k个最大值中选择一个最大值,然后在选择最大值的那段中,再选择一个最大值,一次类推直到完成K个最大值的选择 时间复杂度接近O(n) 代码如 ...

  3. [剑指offer][JAVA][面试第40题][最小的k个数][快选][堆][BST]

    [问题描述]面试第40题 最小的k个数 输入整数数组 arr ,找出其中最小的 k 个数.例如,输入4.5.1.6.2.7.3.8这8个数字,则最小的4个数字是1.2.3.4. 示例 : 输入:arr ...

  4. JAVA素因子只有3 5 7_第k个数

    14 /* * 时间复杂度O(N),按书中所讲,3个素数因子3.5.7分为三个队列 q3,q5,q7,其中最初存放3,5,7 * 之后每次添加找到三个队列头中最小的数,起初为3,将3移出队列 q3后, ...

  5. Java实现寻找最小的k个数

    1 问题描述 有n个整数,请找出其中最小的k个数,要求时间复杂度尽可能低. 2 解决方案 2.1 全部排序法 先对这n个整数进行快速排序,在依次输出前k个数. package com.liuzhen. ...

  6. 【剑指Offer】29、最小的K个数

      题目描述:   输入n个整数,找出其中最小的K个数.例如输入4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4.   解题思路:   本题最直观的解法就是将输入的n个整数排 ...

  7. [剑指 offer]--大顶堆 ➕ 快速选择 --面试题40. 最小的k个数

    1 题目描述 输入整数数组 arr ,找出其中最小的 k 个数.例如,输入4.5.1.6.2.7.3.8这8个数字,则最小的4个数字是1.2.3.4. 示例 1: 输入:arr = [3,2,1], ...

  8. c语言从4个整数中找最小的数,编程之法:面试和算法心得(寻找最小的k个数)...

    内容全部来自编程之法:面试和算法心得一书,实现是自己写的使用的是java 题目描述 输入n个整数,输出其中最小的k个. 分析与解法 解法一 要求一个序列中最小的k个数,按照惯有的思维方式,则是先对这个 ...

  9. 算法试题 - 找出最小 k 个数

    题目 题目:输入n个整数,找出其中最小的K个数.例如输入4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4,. 解析 思路1 这一题应用堆排序算法复杂度只有O(nlog k), ...

最新文章

  1. 110道 Jvm面试题总结及答案 (持续更新)
  2. Flask之DButils
  3. linux系统从开机到登录之前的启动流程
  4. c语言while计算机编写,计算机等级考试二级C语言(while与dowhile循环)
  5. bigint最大有多少位_一台 Java 服务器可以跑多少个线程?
  6. 在ubuntu上搭建LNMP服务器
  7. 【资料整理】cisco [acl]
  8. 直接请求接口_【分享】接口是什么?实现原理的是什么?
  9. php学习redis买什么书,redis
  10. WordPress模板iDowns1.8.3+支持对接Erphpdown
  11. 不谋一时不足以谋一域_请问不谋万世者不足谋一时,不谋全局者,不足谋一域,接下来是什么?这段话太精辟了,能不能把全文发送过来?...
  12. 纯前端 HTML+JS版, Vue.js版 二维码:生成、扫描、识别、解析、扫一扫
  13. <!DOCTYPE html>是什么意思?
  14. WAV高清语音格式音频
  15. 新媒体运营教程:短视频剧本创作技巧
  16. 计算机中遇到的问题英语,电脑故障英语对话
  17. 无需安装的Linux Live CD--第二篇:实战Knoppix
  18. 智能汽车大爆发,车企创新为何首选华为云?
  19. 【电脑讲解】电脑D盘不见了怎么恢复
  20. @Configurable

热门文章

  1. 知识图谱在深度学习目标检测中的应用
  2. MAPSTRUCT(@Mapper用法)
  3. ajax machine tool,Machine Tool
  4. hdu 1276 士兵队列训练问题
  5. IAR_EW430 的使用
  6. 织梦 plus/download.php,织梦DedeCMS 5.7SP1 /plus/download.php url重定向漏洞的解决方法
  7. [技术干货] 惠普3par命令行配置snmptrap
  8. Linux 的 I / O 虚拟化 virtio 框架详解
  9. Cadence PSpice 补充6:通用信号源的详细介绍与使用方法图文演示
  10. Gitblit搭建及Git协作开发流程