
1
Bài tập Java
I/ Các bài tập Java cơ bản
Bài 05
/ *
* I n ra m an hinh t at ca cac hop so < 100
* * /
public class bai05 {
public static void m ain(St ring[ ] args)
{
int k,n,dem ;
for( k= 1; k< = 100; k+ + )
{
dem = 0; / / dat ja t ri cua bien dem = 0 ung voi m oi j a tri cua k
for( n= 2; n< = k; n+ + )
{
if( k% n= = 0) / / neu so du khi chia k cho n = 0
{
dem + + ; / / thi bien dem duoc cong them 1 don vi
}
}
if( dem > 1)
{
Syst em .out.println( " hop so la" + k) ;
}
}
}
}
Bài 06
/ *
* I n ra m an hinh 15 so nguyen t o dau t ien
* * /
public class bai06 {
public static void m ain(St ring[ ] args)
{
int k= 0,n,dem ,j = 0; / / khai bao cac bien, dat ja t ri ban dau cho cac bien can t hiet
while (j < 15) / / t rong khi so nguyen t o da in < 15
{
k+ + ; / / cong cho k 1 don vi
dem = 0; / / reset gia tri cua bien dem = 0 ung voi m oi j a tri cua k
for ( n= 2; n< = k; n+ + )
{
if ( k% n= = 0)
{
dem++;
}
}
if ( dem = = 1)
{
Syst em .out.print ( k+ " " ) ;
j+ + ; / / so lan in duoc cong t hem 1

2
}
}
} }
Kết quả
2 3 5 7 11 13 17 19 23 29 31 37 41 43 47
Process com pleted.
Bài 07
/ *
* I n ra m an hinh t at ca cac so nguyen t o tu 1000 den 2000
* * /
public class bai7 {
public static void m ain( String[ ] args) {
int k,n,dem ;
for (k= 1000; k< = 2000; k+ + )
{
dem = 0;
for ( n= 2; n< = k; n+ + )
{
if( k% n= = 0)
dem + + ;
}
if( dem = = 1)
Syst em .out.println(k) ;
}
}
}
Bài 08
/ *
* I n ra m an hinh cac so < 100 va chia het cho 3,7
* /
public class bai08 {
public static void m ain(St ring[ ] args) {
int k,n;
for ( k= 1; k< 100; k+ + )
{
if ( (k% 3= = 0) && ( k% 7= = 0) )
Syst em .out.print ( k+ " ") ;
}
}
}
Kết quả
21 42 63 84
Process com pleted.
Bài 09
/ *
* I n ra m an hinh cac so nam giua 1000 va 200 dong thoi chia het cho 3,5,7
* /
public class bai09 {

3
public static void m ain(St ring[ ] args) {
int k;
for ( k= 1000; k< = 2000; k+ + )
{
if( (k% 3= = 0) &( k% 5= = 0) &( k% 7= = 0) )
Syst em .out.print ( k+ " " ) ;
}
}
}
Kết quả
1050 1155 1260 1365 1470 1575 1680 1785 1890 1995
Process com pleted.
Bài 10
/ *
* I n ra m an hinh 5 so hoan hao dau t ien( so hoan hao la so co tong bang cac uoc so cua m inh ke ca 1)
* * /
public class bai10 {
public static void m ain( String[ ] args) {
int k= 0,j = 0,n,t ong;
while( j < 5)
{
k+ + ;
tong= 1; / / vi 1 luon la uoc cua cac so hang
for( n= 2; n< k; n+ + ) / / j a tri ban dau cua n = 2 t hay vi dat bang 1 vi da t inh 1 la uoc o phia tren
{
if ( k% n= = 0)
tong+ = n;
}
if ( k= = t ong)
{
Syst em .out.print ( k+ " " ) ;
j+ + ;
}
}
}
}
Kết quả
1 6 28 496 8128
Process com pleted.
Bài 11
/ * Trong cac so t u nhien < = 100 hay dem xem co bao nhiu so
* - Chia het cho 5
* - Chia 5 du 1
* - Chia 5 du 2
* - Chia 5 du 3
* /
public class bai11 {
public static void m ain(St ring[ ] args) {
int dem 0,dem 1,dem 2,dem 3;
int d,k;

4
dem 0= 0; dem 1= 0; dem 2= 0; dem 3= 0;
for (k= 5; k< = 100; k+ + )
{
switch( d= k% 5)
{
case 0 :
dem 0+ + ;
break;
case 1:
dem 1+ + ;
break;
case 2:
dem 2+ + ;
break;
case 3:
dem 3+ + ;
break;
}
}
Syst em .out .println("so cac so chia het cho 5 la: " + dem 0) ;
Syst em .out .println("So cac so chia 5 du 1 la: "+ dem 1) ;
Syst em .out .println("So cac so chia 5 du 2 la: "+ dem 2) ;
Syst em .out .println("So cac so chia 5 du 3 la: "+ dem 3) ;
}
}
Kết quả
so cac so chia het cho 5 la: 20
So cac so chia 5 du 1 la: 19
So cac so chia 5 du 2 la: 19
So cac so chia 5 du 3 la: 19
Process com pleted.
Bài 12
/ * *
* Cho so tu nhien N bat ki( da gan t ruoc do) ,tim va in ra uoc so nguyen t o nho nhat cua N
* /
public class bai12 {
public static void m ain( String[ ] args)
{
int N= 40;
int k;
for ( k= 2; k< = N; k+ + )
{
int dem = 0;
for( int x= 2; x< = k; x+ + )
if( k% x= = 0)
dem + + ;
if ( (N% k= = 0) &&(dem = = 1))
{

5
Syst em .out.print ( "uoc so nguyen t o nho nhat la: "+ k ) ;
break;
}
}
}
}
Kết quả
uoc so nguyen t o nho nhat la: 2
Process com pleted.
Bài 13
/ * Cho so tu nhien N > 1 bat ki ( da gan t ruoc do)
* I n ra khai trien t hanh tich cac so nguyen t o t inh tu nho den lon
* Vd 9- -> 3.3
* 12- -> 2.2.3
* /
Cách 1 dùng for
public class bai13 {
public static void m ain(St ring[ ] args) {
int N= 12;
int k;
for ( k= 2; k< = N; k+ + )
{
if ( N% k= = 0)
{
Syst em .out.print ( k+ " ") ;
N= N/ k;
k- -;
}
}
}
}
Cách 2: dùng while
public class bai13 {
public static void m ain( String[ ] args) {
int N= 12,k= 2;
while( k< = N)
{
for( k= 2; k< = N; k+ + )
{
if ( N% k= = 0)
{
Syst em .out.print ( k+ " " ) ;
N= N/ k;
break;
}
}
}
}
}
Kết quả
2 2 3

