基礎練習 分解質因數
問題描述
求出區間[a,b]中所有整數的質因數分解。
輸入格式
輸入兩個整數a,b。
輸出格式
每行輸出一個數的分解,形如k=a1*a2*a3...(a1<=a2<=a3...,k也是從小到大的)(具體可看樣例)
樣例輸入
3 10
樣例輸出
3=3
4=2*2
5=5
6=2*3
7=7
8=2*2*2
9=3*3
10=2*5
提示
先篩出所有素數,然後再分解。
數據規模和約定
2<=a<=b<=10000
import java.util.Scanner;
public class Main{
public static void main(String[] args)
{
Scanner sc=new Scanner(System.in);
int a=sc.nextInt();
int b=sc.nextInt();
for(int i=a;i<=b;i++)
{
fun(i);
System.out.println("");
}
}
public static void fun(int n)
{
int k=2;
System.out.print(n+"=");
while(k<=n)
{
if(n%k==0)
{
System.out.print(k);
n=n/k;
if(k<=n)
{
System.out.print("*");
}
}else {k++;}
}
}
}
基礎練習 字符串對比
問題描述
給定兩個僅由大寫字母或小寫字母組成的字符串(長度介於1到10之間),它們之間的關係是以下4中情況之一:
1:兩個字符串長度不等。比如 Beijing 和 Hebei
2:兩個字符串不僅長度相等,而且相應位置上的字符完全一致(區分大小寫),比如 Beijing 和 Beijing
3:兩個字符串長度相等,相應位置上的字符僅在不區分大小寫的前提下才能達到完全一致(也就是說,它並不滿足情況2)。比如 beijing 和 BEIjing
4:兩個字符串長度相等,但是即使是不區分大小寫也不能使這兩個字符串一致。比如 Beijing 和 Nanjing
編程判斷輸入的兩個字符串之間的關係屬於這四類中的哪一類,給出所屬的類的編號。
輸入格式
包括兩行,每行都是一個字符串
輸出格式
僅有一個數字,表明這兩個字符串的關係編號
樣例輸入
BEIjing
<strong>beiJing
</strong>
樣例輸出
3
import java.util.Scanner;
public class Main{
public static void main(String[] args)
{
Scanner sc=new Scanner(System.in);
String a1=sc.next();
String b1=sc.next();
if(a1.length()!=b1.length())
System.out.println(1);
else if(a1.equals(b1))
System.out.println(2);
else if(a1.regionMatches(true,0,b1,0,a1.length()))
System.out.println(3);
else System.out.println(4);
}
}
基礎練習 時間轉換
問題描述
給定一個以秒爲單位的時間t,要求用“<H>:<M>:<S>”的格式來表示這個時間。<H>表示時間,<M>表示分鐘,而<S>表示秒,它們都是整數且沒有前導的“0”。例如,若t=0,則應輸出是“0:0:0”;若t=3661,則輸出“1:1:1”。
輸入格式
輸入只有一行,是一個整數t(0<=t<=86399)。
輸出格式
輸出只有一行,是以“<H>:<M>:<S>”的格式所表示的時間,不包括引號。
樣例輸入
0
樣例輸出
0:0:0
樣例輸入
5436
樣例輸出
1:30:36
import java.util.Scanner;
public class Main{
public static void main(String[] args){
Scanner sc=new Scanner(System.in);
int t=sc.nextInt();
int H=t/3600;
int M=(t%3600)/60;
int S=(t%3600)%60;
System.out.println(H+":"+M+":"+S);
}
}