算法提高 8-1因式分解

举报
陈言必行 发表于 2021/08/13 23:19:21 2021/08/13
【摘要】 时间限制:10.0s  内存限制:256.0MB 问题描述   设计算法,用户输入合数,程序输出若个素数的乘积。例如,输入6,输出2*3。输入20,输出2*2*5。 样例   与上面的样例输入对应的输出。 数据规模和约定   输入数据中每一个数在int表示范围内。 import java.util.Scanner; public class Main ...

时间限制:10.0s  内存限制:256.0MB

问题描述

  设计算法,用户输入合数,程序输出若个素数的乘积。例如,输入6,输出2*3。输入20,输出2*2*5。

样例

  与上面的样例输入对应的输出。

数据规模和约定

  输入数据中每一个数在int表示范围内。


  
  1. import java.util.Scanner;
  2. public class Main {
  3. public static void main(String[] args) {
  4. Scanner sc=new Scanner(System.in);
  5. int n=sc.nextInt();
  6. f(n);
  7. }
  8. public static int sushu(int n){
  9. for(int i=2;i<n;i++){
  10. if(n%i==0){
  11. return 0;
  12. }
  13. }return 1;
  14. }
  15. public static void f(int n){
  16. if(sushu(n)==1){
  17. System.out.println(n);
  18. }else{
  19. for(int i=2;i<n;i++){
  20. if(n%i==0){
  21. System.out.print(i+"*");
  22. if(sushu(n/i)==1){
  23. System.out.print(n/i);
  24. break;
  25. }else{
  26. f(n/i);
  27. }
  28. break;
  29. }}
  30. }
  31. }
  32. }

 

文章来源: czhenya.blog.csdn.net,作者:陈言必行,版权归原作者所有,如需转载,请联系作者。

原文链接:czhenya.blog.csdn.net/article/details/76091306

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。