Test1: FBU (130821)
Bài 1: Viết chương trình nhập vào một ngày (ngày, tháng, năm). Tìm ngày kế tiếp (trước và sau) ngày vừa nhập (ngày, tháng, năm).
/*
Bài 1: (2 điểm) Viết chương trình nhập vào một ngày (ngày, tháng, năm).
Tìm ngày kế trước ngày vừa nhập (ngày, tháng, năm).
*/
package test1_1_fbu;
import java.util.Scanner;
public class Test1_1_FBU {
public static void main(String[] args) {
// khai bao ngay, thang, nam
int ngay, thang, nam;
Scanner inp =new Scanner(System.in);
// nhap ngay thang nam
// nhap nam
System.out.print("\n Nhap nam: ");
nam=inp.nextInt();
// nhap thang
do{
System.out.print("\n Nhap thang: ");
thang=inp.nextInt();
if(thang<1||thang>12)
System.out.print("\n Nhap lai thang! ");
}while (thang<1||thang>12);
// nhap ngay
// thang co 31 ngay 1, 3, 5, 7, 8, 10, 12 con lai 30
// thang 2 co 28 tru nam nhuan co 29 ngay
do{
System.out.print("\n Nhap ngay: ");
ngay=inp.nextInt();
if((ngay<0)||(ngay>31) ||
((thang==4||thang==6||thang==9||thang==11)&&ngay==31) ||
(nam%4!=0&&thang==2&&ngay>28)||
(nam%4==0&&thang==2&&ngay>29))
System.out.print("\n Nhap lai ngay! ");
}while ((ngay<0)||(ngay>31) ||
((thang==4||thang==6||thang==9||thang==11)&&ngay==31) ||
((nam%4!=0&&thang==2)&&ngay>28)||
((nam%4==0&&thang==2)&&ngay>29));
// tim ngay ke tiep
int ngayT=0,thangT=0,namT=0;
// tim ngay truoc cua ngay 1.1.
if(ngay==1&&thang==1){
ngayT=31;
thangT=12;
namT=nam-1;
}
// tim ngay truoc cua ngay 1.3 nam khong nhuan
if(ngay==1&&thang==3&&nam%4!=0)
{
ngayT=28;
thangT=2;
namT=nam;
}
// tim ngay truoc cua ngay 1.3 nam nhuan
if(ngay==1&&thang==3&&nam%4==0)
{
ngayT=29;
thangT=2;
namT=nam;
}
// tim ngay truoc cua ngay 1 cac thang co 30 ngay
if(ngay==1&&(thang==5||thang==7||thang==10||thang==12))
{
ngayT=30;
thangT=thang-1;
namT=nam;
}
// tim ngay truoc cua ngay 1 cac thang co 31 ngay
if(ngay==1&&(thang==2||thang==4||thang==6||thang==8||thang==9||thang==11))
{
ngayT=31;
thangT=thang-1;
namT=nam;
}
System.out.print("\n Ngay ke truoc: "+ngayT+"-"+thangT+"-"+namT);
}
}
Bài 2: Cần có tổng 500.000đ từ 3 loại giấy bạc 10.000đ, 20.000đ, và 50.000đ. Viết chương tình để tìm tất cả các phương án có thể.
/*
Bài 2: (3 điểm)Cần có tổng 500.000đ từ 3 loại giấy bạc 10.000đ, 20.000đ, và 50.000đ.
Viết chương tình để tìm tất cả các phương án có thể.
*/
package test1_2_fbu;
public class Test1_2_FBU {
public static void main(String[] args) {
System.out.println("\n Cac phuong an chon: ");
for(int i10=0;i10<=50;i10++)
for(int i20=0;i20<=25;i20++)
for(int i50=0;i50<=10;i50++)
if(i10*10000+i20*20000+i50*50000==500000)
System.out.println("10.000d: "+i10+"\t | 20.000d: "+i20+"\t | 50.000d: "+i50);
}
}
•Nhập vào mảng 1 chiều chứa các số nguyên có n phần tử (2<n<1000)
•In tất cả số chắn lớn 6
•Tìm số lớn nhất trong mảng
•Đếm số lượng số nguyên tố nhỏ hơn 100 trong mảng
•Sắp cếp mảng tăng dần
/*
Bài 3: (5 điểm) Viết chương trình:
•Nhập vào mảng 1 chiều chứa các số nguyên có n phần tử (2<n<1000)
•In tất cả số chắn lớn 6
•Tìm số lớn nhất trong mảng
•Đếm số lượng số nguyên tố nhỏ hơn 100 trong mảng
•Sắp cếp mảng tăng dần
*/
package test1_3_fbu;
import java.util.Scanner;
public class Test1_3_FBU {
// khai bao mang
static int [] a=new int[999];
static int n; // so phan tu mang
// nhap mang
static void NhapMang(){
Scanner inp =new Scanner(System.in);
System.out.print("\n 1. Nhap mang: ");
do{
System.out.print("\n n= ");
n=inp.nextInt();
if (n<=2||n>=1000)
System.out.print("\n Nhap lai n! ");
}while(n<=2||n>=1000);
// nhap mang
for(int i=0;i<n;i++)
{
System.out.print("\n a["+i+"]= ");
a[i]=inp.nextInt();
}
}
// in so chan lon hon 6
static void InSoChan(){
System.out.print("\n 2. In so chan lon hon 6: ");
for(int i=0;i<n;i++)
if(a[i]%2==0&&a[i]>6)
System.out.print(a[i]+", ");
}
// Tìm số lớn nhất trong mảng
static void TimMax(){
int max=a[0];
for(int i=1;i<n;i++)
if(max<a[i]) max=a[i];
System.out.print("\n 3. So lon nhan: "+max);
}
// Đếm số lượng số nguyên tố nhỏ hơn 100 trong mảng
// kiem tra so nguyen to
static int KT_SNT(int a){
if(a<=1)
return 1;
for(int i=2;i<=(int)Math.sqrt(a);i++)
if(a%i==0)
return 1;
return 0;
}
// dem so nguyen to
static void DemSNT(){
int dem=0;
for(int i=0;i<n;i++)
if(KT_SNT(a[i])==0&&a[i]<100) dem++;
System.out.print("\n 4. Dem so nguyen ton < 100: "+ dem);
}
// sap xep day tang dan
static void SapXep(){
for(int i=0;i<n-1;i++)
for(int j=i+1;j<n;j++)
if( a[i]>a[j])
{ // doi cho
int t=a[i];
a[i]=a[j];
a[j]=t;
}
System.out.print("\n 5. Sap xep tang dan: ");
for(int i=0;i<n;i++)
System.out.print(a[i]+", ");
}
public static void main(String[] args) {
NhapMang();
InSoChan();
TimMax();
DemSNT();
SapXep();
}
}
--------