1. Trang chủ
  2. » Công Nghệ Thông Tin

Bài tập giải thuật doc

8 314 3

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 8
Dung lượng 44 KB

Nội dung

Bài 1: Cho số nguyên dương n, kiểm tra tính nguyên tố của n?Bài 2: Cho số nguyên dương m, n.. có bao nhiêu số nguyên tố nằm giữa m và n?. Bài 3: Cho số nguyên dương p đủ lớn.. Tổng của b

Trang 1

Bài 1: Cho số nguyên dương n, kiểm tra tính nguyên tố của n?

Bài 2: Cho số nguyên dương m, n có bao nhiêu số nguyên tố nằm giữa m và n?

Bài 3: Cho số nguyên dương p (đủ lớn) Tổng của bao nhiêu số nguyên tố đầu tiên thì lớn hơn p?

Bài 4: * Cho số nguyên dương n, có chữ số hàng đơn vị là d nếu di chuyển chữ số hàng đơn vị lên đầu thì ta được số mới lớn gấp k lần n (k có giá trị từ

1 9)

Biết trước d và k, tìm n?

Bài 5: Tìm số ngày của tháng m trong năm y?

Bài 6: Cho thời điểm (d/m/y) tìm ngày hôm sau của thời điểm đó?

Bài 7: Cho ngày sinh, ngày mất Tính số ngày sống được?

Trang 2

B1) kiểm tra tính nguyên tố của n

#include<iostream.h>

#include<conio.h>

//ham kien tra so nguyen to

int ktnguyento(int n)

{

if(n<=1)

return 0;

else

{

for(int i= ; <=n 2 i++)

{

if(n i==0)

return 0;

}

return 1;

}

}

void main()

{

int n;

cout<<"Moi ban nhap n : ";cin>>n; if(ktnguyento( )==1)

cout<<n<<" la so nguyen to";

else

cout<<n<<" khong la so nguyen to"; getch();

}

Trang 3

Bài 2: Cho số nguyên dương m, n có bao nhiêu số nguyên tố nằm giữa m ,n

#include<iostream.h>

#include<conio.h>

//ham kien tra so nguyen to

int ktnguyento(int n)

{

if(n<=1)

return 0;

else

{

for(int i= ; <=n 2 i++)

{

if(n i==0)

return 0;

}

return 1;

}

}

void main()

{

int m, ,dem= ;

cout<<"Hay nhap 2 so khac nhau"<<endl;

cout<<"Moi ban nhap m : ";cin>>m;

cout<<"Moi ban nhap n : ";cin>>n;

if(m n)

{

for(int i= + ; < ; ++)

if(ktnguyento( )==1)

dem++;

cout<<"co "<<dem<<" so nguyen to giua "<<m<<" va "<<n; }

else

{

if(m n)

{

for(int i= + ; < ; ++)

if(ktnguyento( )==1)

dem++;

cout<<"co "<<dem<<" so nguyen to giua "<<n<<" va "<<m; }

else

cout<<"Ban da nhap 2 so giong nhau";

}

getch();

Trang 4

Bài 3: Cho số nguyên dương p (đủ lớn) Tổng của bao nhiêu số nguyên tố đầu tiên thì lớn hơn p?

#include<iostream.h>

#include<conio.h>

//ham kien tra so nguyen to

int ktnguyento(int n)

{

if(n<=1)

return 0;

else

{

for(int i= ; <=n 2 i++)

{

if(n i==0)

return 0;

}

return 1;

}

}

void main()

{

int n,dem= ,tong= ;

cout<<"Nhap gia tri lon hon 1"<<endl;

cout<<"Moi ban nhap n : ";cin>>n;

if(n 1)

{

for(int i= ; < ; ++)

{

if(ktnguyento( ))

{

tong=tong+ ;

dem++;

}

}

if(tong> )

cout<<"Gia tri can tim : "<<dem;

else

cout<<"tong cac so trong khoang khong the lon hon "<<n; }

else

cout<<"ban da nhap gia tri khong hop le";

getch();

}

Trang 5

Bài 5: Tìm số ngày của tháng m trong năm y?

#include<iostream.h>

#include<conio.h>

void main()

{

int thang,nam,ngay;

cout<<"Nhap thang : ";cin>>thang;

cout<<"Nhap nam : ";cin>>nam;

switch(thang)

{

case 1 ngay=31;break;

case 2:

if(nam% ==0||nam%400==0)

ngay=29;

else

ngay=28;

break;

case 3 ngay=31;break;

case 4 ngay= ;break;

case 5 ngay=31;break;

case 6 ngay=30;break;

case 7 ngay=31;break;

case 8 ngay=31;break;

case 9 ngay=30;break;

case 10:ngay=31;break;

case 11:ngay=30;break;

case 12:ngay=31;break;

defaul : ngay= ;break;

}

if(ngay> )

cout<<"thang ban chon co : "<<ngay<<" ngay"; else

cout<<"ban da nhap so lieu khong dung"; getch();

}

Trang 6

Bài 6: Cho thời điểm (d/m/y) tìm ngày hôm sau của thời điểm đó?

#include<iostream.h>

#include<conio.h>

int ngaycuoi(int thang, int nam)

{

if(thang==2)

{

if(nam% ==0||nam%400==0)

return 29;

else

return 28;

}

else

if(thang==4||thang==6||thang==9||thang==11)

return 30;

return 31;

}

main()

{

int ngay,thang,nam,ngaycuoithang;

bool loi = false;

cout<<"Nhap ngay : ";cin>>ngay;

cout<<"Nhap thang : ";cin>>thang;

cout<<"Nhap nam: ";cin>>nam;

cout << "Ngay vua nhap la:"<<ngay<<"/"<<thang<<"/"<<nam;

if(thang< ||thang>12)

cout<<"ban da nhap thang khong dung";

else

{

ngaycuoithang=ngaycuoi(thang,nam);

if(ngay< ||ngay>ngaycuoithang)

cout<<"ban da nhap ngay khong dung";

else

if(ngay!=ngaycuoithang)

cout<<"\nNgay tiep theo la:"<<+

+ngay<<"/"<<thang<<"/"<<nam;

else

{

if(thang==12)

cout<<"\nNgay tiep theo la:"<<1<<"/"<<1<<"/"<<++nam;

Trang 7

cout<<"\nNgay tiep theo la:"<<++ngay<<"/"<<+ +thang<<"/"<<nam;

}

}

getch();

}

Bài 7: Cho ngày sinh, ngày mất Tính số ngày sống được?

#include<iostream.h>

#include<conio.h>

//kiem tra thangs

bool ktthang(int thang)

{

return thang>=1&&thang<=12?true:false;

}

//xac dinh so ngay cua mot thang

int ngaycuoithang(int nam, int thang)

{

if(thang==2)

{

if(nam% ==0||nam%400==0)

return 29;

else

return 28;

}

else

if(thang==4||thang==6||thang==9||thang==11)

return 30;

return 31;

}

//so ngay ke tu dau nam den ngay thang ban chon

int ngaydaqua(int nam,int thang,int ngay)

{

int ngaydaqua= ;

for(int i= ; <thang; ++)

ngaydaqua+=ngaycuoithang(nam,thang);

ngaydaqua+=ngay;

return ngaydaqua;

}

void main()

{

int nams,thangs,ngays,namm,thangm,ngaym,tong= ;

cout<<"nhap nam sinh : ";cin>>nams;

cout<<"nhap thang sinh : ";cin>>thangs;

cout<<"nhap ngay sinh : ";cin>>ngays;

Trang 8

cout<<"nhap thang mat : ";cin>>thangm;

cout<<"nhap ngay mat : ";cin>>ngaym;

if(nams<namm)

{

if(ktthang(thangs)&&ktthang(thangm))

{

if(ngays>=1&&ngays<=ngaycuoithang(nams,thangs)&&

ngaym>=1&&ngaym<=ngaycuoithang(namm,thangm))

{

//tinh so ngay trong cac nam giua nam sinh va nam mat for(int i=nams+ ; <namm; ++)

{

if(i 4==0||i 400==0)

tong=tong+366;

else

tong+=365;

}

//cong voi so ngay song cua nam sinh

if(nams% ==0||nams%400==0)

tong+=366-ngaydaqua(nams,thangs,ngays);

else

tong+=365-ngaydaqua(nams,thangs,ngays);

//cong voi so ngay song cua nam mat

tong+=ngaydaqua(namm,thangm,ngaym);

}

else

cout<<"ban da nhap ngay sai";

}

else

cout<<"ban da nhap thang sai";

}

else

cout<<"Ban da nhap nam sai";

cout<<"So ngay da song la : "<<tong;

getch();

}

Ngày đăng: 13/07/2014, 13:20

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w