Test1: FBU (130821)

 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);
                
        
    }
    
}

Bài 3: 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

/*
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();
        
    }
    
}


--------