Lập trình cơ bản
Ngôn ngữ : C++
Tài liệu kham khảo
https://blog.luyencode.net/1000-bai-tap-lap-trinh-c-cua-thay-khang/
Part I : Nhập môn lập trình
1) Một số bài tập cơ bản
Bài 1: Tính S(n) = 1 + 2 + 3 + … + n
#include <iostream>
using namespace std;
int main()
{
int n;
long s;
s=0;
cout<<"nhap n= ";
cin>>n;
for(int i=1;i<=n;i++)
{
s=s+i;
}
cout<<"Tong 1+2+3+...+n= "<<s;
return 0;
}
Bài 2: Tính S(n) = 1^2 + 2^2 + 3^2 + … + n
#include <iostream>
using namespace std;
int main()
{
int n;
long s;
s=0;
cout<<"nhap n= ";
cin>>n;
for(int i=1;i<=n;i++)
{
s=s+i*i;
}
cout<<"Tong 1^2 +2^2 +3^2 ...+n^2= "<<s;
return 0;
}
Bài 3: Tính S(n) = 1+1/2 + 1/3 + 1/4 + … + 1/n
#include <iostream>
using namespace std;
int main()
{
int n;
long s;
s=0;
do
{
cout<<"nhap n= ";
cin>>n;
if(n<1)
{
cout<<"so phai lon hon hoac bang 1 !";
}
}while(n<1);
for(int i=1;i<=n;i++)
{
s=s+1/i;
}
cout<<"Tong 1+1/2+1/3+...1/n= "<<s;
return 0;
}
Bài 4: Liệt kê các ước số lẻ , đếm số lượng ước số lẻ và tính tổng và tích ước số lẻ của số nguyên dương n.
#include <iostream>
using namespace std;
int main()
{
int n;
int count=0;
long s=0;
long t=1;
do
{
cout<<"nhap n ( n>0)= ";
cin>>n ;
if(n<=0)
{
cout<<" n <=0 roi , nhap lai di !";
}
}while(n<=0);
cout<<"Cac uoc le la ";
for(int i=1;i<=n;i++)
{
if(n%i==0)
{
if(i%2==1)
{
cout<<" "<< i;
count++;
s=s+i;
t=t*i;
}
}
}
cout<<"va" <<"so luong cac uoc le la "<<count<< " "<< " tong cua cac uoc le la = "<<s<<" "<<"Tich cua cac uoc le la "<<t<<endl;
return 0;
}
Bài 5: Cho số nguyên n , kiểm tra có phải số hoàn thiện hay không
#include <iostream>
using namespace std;
int main()
{
int n;
int count=0;
long s=0;
do
{
cout<<"nhap n ( n>0)= ";
cin>>n ;
if(n<=0)
{
cout<<" n <=0 roi , nhap lai di !";
}
}while(n<=0);
for(int i=1;i<n;i++)
{
if(n%i==0)
{
s=s+i;
}
}
if(s==n)
{
cout<<"la so hoan thien";
}
else
{
cout<<"khong phai la so hoan thien";
}
return 0;
}
Bài 5: Cho số nguyên n , kiểm tra có phải số chính phương hay không (số chính phương là số mà khi căn bặc 2 nó là 1 số nguyên vd 4 , 9 ,16,...)
#include <iostream>
#include <conio.h>
#include <cmath>
using namespace std;
int main()
{
int i,n;
do
{
cout<<"nhap n ( n>0)= ";
cin>>n ;
if(n<=0)
{
cout<<" n <=0 roi , nhap lai di !";
}
}while(n<=0);
if(sqrt((float)n) == (int)sqrt((float)n))
{
cout<<"la so chinh phuong";
}
else
{
cout<<"khong phai la so chinh phuong";
}
return 0;
}
Bài 6: Viết chương trình kiểm tra có phải số nguyên tố hay không ? nếu là số nguyên tố thì in ra "1" , không thì ra "0".
#include <cmath>
#include <iostream>
using namespace std;
int main() {
int i = 2, kt = 1;
int n;
cin >> n;
if (n != 0 && n != 1) {
while(i <= n/2) {
if(n%i == 0) {
kt = 0;
break;
}
i++;
}
} else {
kt = 0;
}
if(kt == 1) {
cout<< "1" << endl;
} else {
cout<< "0" << endl;
}
return 0;
}
Bài 7: Đếm số lượng chữ số lẻ của số nguyên dương n, tính tổng và tích của cá chữ số lẻ đó.
#include <iostream>
using namespace std;
int main()
{
long a,n;
int sochuso;
float s=0;
float p=1;
do
{
cout<<"nhap n= ";
cin>>n;
}while(n<0 && cout<<"loi n>=0 !");
sochuso=0;
a=n;
if(n==0)
{
sochuso =1;
}
while(a !=0)
{
if(a%2 !=0)
{
sochuso=sochuso+1;
s=s+(a%10);
p=p*(a%10);
}
a=a/10;
}
cout<<"so chu so le la = "<<sochuso<<" va co tong va tich la = "<<s<<" and "<<p<<endl;
return 0;
}
Bài 8 : Viết chương trình in ra các kí tự từ A đến Z
#include <iostream>
using namespace std;
int main()
{
cout<<endl;
for(char i = 'A'; i <= 'Z'; i++)
{
cout<<i<<"\t";
}
}
Bài 9: Kiểm tra đây là tam giác gì?
#include<iostream>
using namespace std;
int main()
{
int a,b,c;
cin>>a>>b>>c;
if(a + b <= c || a + c <= b || b + c <= a)
{
cout<<"day khong phai la tam giac";
}
else
{
cout<<"day la tam giac ";
if((a == b) && (b == c))
{
cout<<"deu";
}
else
{
if(a * a + b * b == c * c || a * c + c * c == b * b || b * b + c * c == a * c)
{
cout<<"vuong";
}
if(a == b || a == c || b == c)
{
cout<<"can";
}
else
{
cout<<"thuong";
}
}
}
}