今天來講第四題練習題囉
其實自己練習到現在,自己的java也有一些些的進步
雖然還是有一些看不懂,甚至要上網查
但至少自己也有練習到,也希望做這些題目能幫助到別人。
好了,回歸正題,今天講到的第四題:
題目大意是:設定一個非負整數,然後找出他的最小自然數
題目輸入是
3
1
10
123456789
然後程式碼如下
import java.util.*;
import static java.lang.System.*;
public class main{
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
int a=sc.nextInt();
for (int i=0;i<a;i++){
int b=sc.nextInt();
String count = "";
if(b==1 || b==0){
out.println(b);
}else{
int j = 9;
while(true){
if (b%j==0){
count = String.valueOf(j)+ count;
b = b/j;
}else{
if(j==2){
count = "";
break;
}else{
j = j -1;
}
}
if (b==1){
break;
}
}
if(count.equals("")){
out.println(-1);
}else{
out.println(count);
}
}
}
}
};
int a=sc.nextInt()的意思是a有3筆資料
int b=sc.nextInt()就是b會等於1,10,123456789
當b等於1,輸出就等於1
當b等於10,輸出就等於25,注意這裡的25是2和5不是25
當b等於123456789的時候比較特別,題目有說(1小於等於N小於等於10的9次方)
所以輸入不能超過10的9次方,所以才會寫
if(count.equals("")){
out.println(-1);
所以輸出就等於-1
然後||的意思是OR的意思,意思就是b等於1或等於0時,條件都成立。
輸出結果如下