java經典50道題之4分解質因數
import java.util.Scanner; /** * 題目:將一個正整數分解質因數。例如:輸入90,打印出90=2*3*3*5。 程式分析:對n進行分解質因數,應先找到一個最小的質數k,然後按下述步驟完成: (1)如果這個質數恰等於n,則說明分解質因數的過程已經結束,打印出即可。 (2)如果n > k,但n能被k整除,則應打印出k的值,並用n除以k的商,作為新的正整數你n,重複執行第一步。 (3)如果n不能被k整除,則用k+1作為k的值,重複執行第一步。 */ public class Test { public static void main(String[] args) { System.out.println("請輸入一個數用來進行因式分解!"); @SuppressWarnings("resource") Scanner sc = new Scanner(System.in); int n = sc.nextInt(); for (int i = 2; i <=n; i++) { if(i==n){ System.out.print(i); break; } else{ if(n%i==0){ System.out.print(i+" "); n=n/i; i--; } else{ i=i+1; i--; } } } main(args); } }
相關推薦
java經典50道題之4分解質因數
import java.util.Scanner; /** * 題目:將一個正整數分解質因數。例如:輸入90,打印出90=2*3*3*5。 程式分析:對n進行分解質因數,應先找到一個最小的質數k,然後按下述步驟完成: (1)如果這個質數恰等於n,則說明分解質
java基礎程式設計60題之4
public class Test4 {/*將一個正整數分解質因數。例如:輸入90,打印出90=2*3*3*5. * */public static void main(String[] args) {int n;boolean flag;do{flag=true;Scan
Java經典編程題50道之四
編程題 pub else 整數 正整數分解 clas 因數 stat args 將一個正整數分解質因數。例如:輸入90,打印出90=2*3*3*5。 public class Example04 { public static void main(String[]
Java經典編程題50道之五
n) pub 嵌套 example void out [] args core 利用條件運算符的嵌套來完成此題:學習成績>=90分的同學用A表示,60-89分之間的用B表示,60分以下的用C表示。 public class Example05 { public
Java經典編程題50道之八
其中 println i++ class aaa 一個 bsp pub 個數字 求s=a+aa+aaa+aaaa+aa...a的值,其中a是一個數字。例如2+22+222+2222+22222(此時共有5個數相加),幾個數相加由鍵盤控制。 public class Exa
Java經典編程題50道之七
r++ [] main world else number 字符 英文 ray 輸入一行字符,分別統計出其中英文字母、空格、數字和其它字符的個數。 public class Example07 { public static void main(String[] a
Java經典編程題50道之九
因子 oid 例如 println out count 它的 編程題 num 一個數如果恰好等於它的因子之和,這個數就稱為"完數"。例如6=1+2+3。編程找出1000以內的所有完數。 public class Example09 { public static v
Java經典編程題50道之十
經典 [] 一半 stat ati public sta void amp 一球從100米高度自由落下,每次落地後反跳回原高度的一半;再落下……求它在第10次落地時,共經過多少米?第10次反彈多高? public class Example10
Java經典編程題50道之十一
println class num ati void ber pri 多少 example 有1、2、3、4個數字,能組成多少個互不相同且無重復數字的三位數?都是多少? public class Example11 { public static void main
Java經典編程題50道之十五
數字 java 經典 example 個數字 println clas void bsp 輸入三個整數x,y,z,請把這三個數由小到大輸出。 public class Example15 { public static void main(String[] args
Java經典編程題50道之十四
out break void pri sta cas || 編程 pub 輸入某年某月某日,判斷這一天是這一年的第幾天? public class Example14 { public static void main(String[] args) {
Java經典編程題50道之十九
pub main isp ring args int string class for 打印出如下圖案(菱形) * *** ****** ******** ****** *** * public class E
Java經典編程題50道之二十四
args example for ava ati rgs oid string += 有5個人坐在一起,問第5個人多少歲,他說比第4個人大2歲。問第4個人歲數,他說比第3個人大2歲。 問第三個人,他說比第2人大兩歲。問第2個人, 說比第一個人大兩歲。最後問第一個人,他說是1
Java經典編程題50道之二十五
ray != println 回文 str stat [0 java amp 一個5位數,判斷它是不是回文數。即12321是回文數,個位與萬位相同,十位與千位相同。 public class Example25 { public static void main(S
Java經典編程題50道之二十六
ava ret ner 判斷 大寫 scanner nbsp ring print 請輸入星期幾的第一個字母來判斷一下是星期幾,如果第一個字母一樣,則繼續判斷第二個字母。 public class Example26 { public static void mai
Java經典編程題50道之二十八
amp for 進行 temp 編程 排序 ati static bubble 對10個數進行排序。 public class Example28 { public static void main(String[] args) { int[] s =
Java經典編程題50道之二十七
void ava prime static sqrt class i++ println mat 求100之內的素數。 public class Example27 { public static void main(String[] args) {
Java經典編程題50道之三十
個數 [] -- ++ 要求 add example system oid 有一個已經排好序的數組。現輸入一個數,要求按原來的規律將它插入數組中。 public class Example30 { public static void main(String[] a
Java經典編程題50道之三十二
out char 輸入 void args pri array int ava 取一個整數a從右端開始的4~7位。 public class Example32 { public static void main(String[] args) { cu
Java經典編程題50道之三十七
static new for length print ati class 個人 經典 有n個人圍成一圈,順序排號。從第一個人開始報數(從1到3報數),凡報到3的人退出圈子,問最後留下的是原來第幾號的那位。 public class Example37 { publ