java吧 关注:1,256,486贴子:12,747,241

回复:【入驻JAVA吧 记录学习点滴】

取消只看楼主收藏回复

import java.util.Scanner; public class Test4_1 {
/**
* 由于Test4可能由于质因数过大引发递归太深,导致堆栈溢出,可以在重新定义分解的方法
*
* */ //judgePrime()方法判断参数是不是质数
public static boolean judgePrime(int number) {
int i = 0;
for (i = 2; i < number; i++) {
if (number % i == 0) {
break;
}
}
//如果是质数,那么经过上面的循环,没有一个i使number能被i整除,最后循环执行完i会增加到值等于number
//返回true说明number是质数
if (i == number) { return true;
} else {
return false;
}
} public void fenJieNumber(int number) {
//如果number已经是质数,那就不用分解了,直接输出number就好了
if (Test4_1.judgePrime(number)) { System.out.println(number);
}
//如果不是质数,就要分解因数了
else {
// 因数k
int k = 0;
//分解的思想基本和前面一样,从最小的质数2开始找
for (k = 2; k < number; k++) {
if (number % k == 0) {
System.out.print(k + "*");
number = number / k;
//这里number变为(number / k)后,要重新从最小的质数2开始找
//所以将k重新赋值为1,因为执行完语句后,k还会自增
k = 1;
}
//如果number不能被k整除,那么就continue执行k++,继续下一轮循环
else {
continue;
}
}
//经过上述分解后,最后当然剩下最后的一个不能在被分解的质数,它就作为最后一个质因数
System.out.print(number);
}
}
public static void main(String[] args) {
Test4_1 t4 = new Test4_1();
Scanner input = new Scanner(System.in);
System.out.println("请输入一个整数:");
int number = input.nextInt();
t4.fenJieNumber(number);
}
}



246楼2011-12-23 10:34
回复
    想整理经典50题,而现在又在学习新内容 异常~~~~今天下午上完课回来在计划一下,圣诞对于苦逼的单身男,还是不要出去了,丢不起这脸~~~~~


    247楼2011-12-23 10:36
    回复
      去网页看了答案,惭愧,原来与此简洁
      import java.util.Scanner;
      public class test{
      public static void main(String[] args) {
      Scanner input = new Scanner(System.in);
      System.out.println("请输入一个正整数:");
      int number = input.nextInt();
      int k = 2;
      while(k <= number){
      if(k == number){
      System.out.println(number);
      break;
      }
      else if (number % k == 0){
      System.out.print(k + "*");
      number = number / k;
      }
      else k++;
      }
      }
      }
      


      248楼2011-12-23 11:50
      回复
        吃饭,然后去上课,蛋疼~~~~


        249楼2011-12-23 11:51
        回复
          是的 , 以后尽量不用拼音了,大哥还是看了小弟写的,哈哈~~


          255楼2011-12-23 19:19
          回复
            嗯,在后面我意识到了


            256楼2011-12-23 19:19
            回复
              哈哈,不管是什么梦想,敢去追求才是王道~~~电子版确实不花钱呀~~可是高清**还带目录的资源都没见过~~java编程思想那样的霸气作者毕竟太少了


              257楼2011-12-23 19:23
              回复
                昨晚K歌~~~~~~~~明晚干坏事?


                258楼2011-12-23 19:23
                回复
                  哈哈 惭愧,这么多天了,没学到多少东西


                  261楼2011-12-23 23:47
                  回复
                    整理到16题了, 发现整理这点东西也不简单~~~ 眼睛在打架了~~睡觉睡觉


                    262楼2011-12-23 23:49
                    回复
                      学生~~~那一题有点问题哦 后面有改正


                      265楼2011-12-25 00:21
                      回复
                        尼玛~~~就跟哥们喝酒去了~~~~蛋疼··今天浪费了~~明天继续了 睡觉了 亲们 晚安


                        266楼2011-12-25 00:22
                        回复
                          一晚没睡好~~~~我不知道酒有什么好喝的~~以后不喝这玩意了,喝一次就要不舒服好久


                          267楼2011-12-25 07:05
                          回复
                            祝吧里兄弟圣诞快乐


                            268楼2011-12-25 07:05
                            回复
                              接下来的两天,赶完我要写的东西~~~


                              269楼2011-12-25 07:06
                              回复