Java经典编程题50道之四

将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。

public class Example04 {
    public static void main(String[] args) {
        f(100);
    }

public static void f(int n) {
        int k = 2;
        System.out.print(n + "=");
        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++;
        }
    }
}

时间: 2024-09-30 06:20:20

Java经典编程题50道之四的相关文章

Java经典编程题50道之四十六

编程实现两个字符串的连接. public class Example46 {    public static void main(String[] args) {        addString("hello"," world!");    }    public static void addString(String s1,String s2){        String s3=s1+s2;        System.out.println("

Java经典编程题50道之四十七

读取7个数(1~50)的整数值,每读取一个值,程序打印出该值个数的*. public class Example47 {    public static void main(String[] args) {        int[] a = { 10, 7, 6, 15, 4, 3, 20 };        display(a);    } public static void display(int[] a) {        System.out.print("读取的整数有:"

Java经典编程题50道之四十

将几个字符串排序(按英文字母的顺序). public class Example40 {    public static void main(String[] args) {        String[] s={"math","english","java","java web","rose"};        stringSort(s);    } public static void stringS

Java经典编程题50道之四十八

某个公司采用公用电话传递数据,数据是四位的整数,在传递过程中是加密的,加密规则如下: 每位数字都加上5,然后用和除以10的余数代替该数字, 再将第一位和第四位交换,第二位和第三位交换. public class Example48 {    public static void main(String[] args) {        f(2345);    } public static void f(int num) {        int[] c = new int[4];      

Java经典编程题50道之四十九

计算某字符串中子串出现的次数. public class Example49 {    public static void main(String[] args) {        String s1 = "adcdcjncfb";        String s2 = "";        count(s1, s2);    } public static void count(String str1, String str2) {        int cou

Java经典编程题50道之四十二

809*??=800*??+9*??+1,其中??代表的两位数,8*??的结果为两位数,9*??的结果为3位数.求??代表的两位数,以及809*??后的结果. public class Example42 {    public static void main(String[] args) {        f();    } public static void f() {        int a = 809, b, i;        for (i = 10; i < 13; i++)

Java经典编程题50道之四十五

判断一个整数能被几个9整除. public class Example45 {    public static void main(String[] args) {        f(729);    } public static void f(int n) {        int tmp = n;        int count = 0;        for (int i = 0; tmp % 9 == 0;) {            tmp = tmp / 9;         

Java经典编程题50道之四十三

一个偶数总能表示为两个素数之和. public class Example43 {    public static void main(String[] args) {        f();    } public static boolean fun(int a) {        boolean flag = false;        if (a == 3) {            flag = true;            return (flag);        }    

Java经典编程题50道之四十四

求0~7所能组成的奇数个数.分析:组成1位数是4个,组成2位数是7*4个,组成3位数是7*8*4个,组成4位数是7*8*8*4个…… public class Example44 {    public static void main(String[] args) {        f();    } public static void f() {        int sum = 4;        int j;        System.out.println("组成1位数是 &quo

Java经典编程题50道之四十一

海滩上有若干个一堆桃子,五只猴子来分.第一只猴子把这堆桃子平均分为五份,多了一个,这只猴子把多的一个扔入海中,拿走了一份. 第二只猴子把剩下的桃子又平均分成五份,又多了一个,它同样把多的一个扔入海中,拿走了一份.第三.第四.第五只猴子都是这样做的.问海滩上原来最少有多少个桃子? public class Example41 {    public static void main(String[] args) {        number();    } public static void