/*Một cặp số nguyên dương được gọi là số bạn bè nếu tổng các ước số của số này bằng chính số kia. Hãy viết chương trình kiểm tra xem 2 số nhập vào có[r]
Trang 1Bài 1: Viết chương trình nhập vào giờ, phút, giây Kiểm tra giờ, phút, giây đó có hợp lệ hay không, nếu hợp lệ hãy cho biết giờ sau đó 1 giây là bao nhiêu?
Dữ liệu vào: 3 số nguyên lần lượt là giờ, phút, giây
Dữ liệu ra:
- Dòng đầu xuất "YES" nếu hợp lệ, ngược lại xuất "NO" nếu không hợp lệ
- Dòng thứ hai xuất giờ sau đó 1 giây nếu hợp lệ
Input Output
59 2:0:0
59
#include <iostream>
using namespace std;
int main()
{
int h, m, s;
cin >> h >> m >> s;
if (h < 0 || h>23 || m < 0 || m>59 || s < 0 || s>59) {
cout << "NO" << endl;
}
else {
cout << "YES" << endl;
s++;
if (s >= 60) {
s = 0;
m = m + 1;
if (m == 60) {
m = 0;
h += 1;
if (h == 24) {
h = 0;
} }
} cout << h << ":" << m << ":" << s ; }
return 0;
}
Bài 2: CODEREXP
*/Dữ liệu đầu vào: gồm 4 số nguyên dương (không lớn hơn 500) lần lượt là số bài giải được theo cấp độ cơ bản, trung bình, nâng cao, khó
*/Dữ liệu đầu ra: gồm 2 dòng
- Dòng đầu tiên ghi lại điểm kinh nghiệm của coder
- Dòng thứ hai ghi danh hiệu của coder đó (không dấu)
#include <iostream>
using namespace std;
int main(){
int a, b, c, d, s;
cin >> a >> b >> c >> d;
s = a * 10 + b * 20 + c *30 + d *40;
cout << s << endl;
if (s >= 7000) cout << "Coder Giao Su";
else{
switch (s){
case 0: cout << "Coder So Sinh";
break;
case 1 49: cout << "Coder Lop Mam";
break;
Trang 2case 50 99: cout << "Coder Lop Choi";
break;
case 100 499: cout << "Coder Lop La";
break;
case 500 999: cout << "Coder Tieu Hoc";
break;
case 1000 1499: cout << "Coder THCS";
break;
case 1500 1999: cout << "Coder THPT";
break;
case 2000 2499: cout << "Coder Trung Cap";
break;
case 2500 3499: cout << "Coder Cao Dang";
break;
case 3500 4199: cout << "Coder Dai Hoc";
break;
case 4200 5499: cout << "Coder Thac Si";
break;
case 5500 6999: cout << "Coder Tien Si";
break;
default:
break;
}
}
return 0;
}
Bài 3: MINIGAME22.1: CUPS
Input:
• Dòng 1: số nguyên dương n (1 <= n <= 3) là vị trí chiếc cốc có đồng tiền
• 3 dòng tiếp theo, mỗi dòng là 2 số nguyên dương a, b cách nhau một khoảng trắng Là phép tráo đổi vị trí cốc thứ a và cốc thứ b
• Output:
• Số nguyên dương duy nhất - số thứ tự chiếc cốc có đồng tiền
#include<iostream>
using namespace std;
void swap(int &a , int &b)
{
int c = a;
a = b;
b = c;
}
int main(){
int a = 0, b = 0, c = 0;
int n;
cin >> n;
cin >> a >> b;
if (n == a) n = b;
else if (n == b) n = a;
cin >> a >> b;
if (n == a) n = b;
else if (n == b) n = a;
cin >> a >> b;
if (n == a) n = b;
Trang 3else if (n == b) n = a;
cout << n;
}
Bài 4: MINIGAME7: RANK
Các giải đấu thể thao quốc tế luôn dành một phần thưởng lớn cho các đoàn có thứ hạng cao Có hai cách để xếp hạng các đoàn:
Cách 1: Đoàn nào có tổng số huy chương lớn hơn thì xếp trên
Cách 2: Đoàn nào có nhiều huy chương vàng hơn thì xếp trên, nếu bằng nhau thì xét đến huy chương bạc, nếu bằng sẽ xét đến huy chương đồng
Việt Nam và Thái Lan là hai cường quốc thể thao ở Đông Nam Á Cho biết số lượng các huy chương của hai đoàn này cùng cách xếp hạng của ban tổ chức, hãy cho biết đội nào xếp trên
Dữ liệu đầu vào:
• Dòng đầu tiên chứa 6 số nguyên không âm (không vượt quá 200) ghi lại số huy chương vàng, bạc, đồng của Việt Nam và số huy chương vàng, bạc, đồng của Thái Lan
• Dòng tiếp theo chứa một số nguyên duy nhất 1 hoặc 2 ghi lại cách xếp hạng của ban tổ chức
Dữ liệu đầu ra:
• Nếu Việt Nam xếp trên thì xuất ra "VN"
• Nếu Thái Lan xếp trên thì xuất ra "TL"
• Nếu không phân định được thì xuất ra "TIE"
#include<iostream>
using namespace std;
int main(){
int a,b,c,d,e,f,g;
int vn,tl;
cin>>a>>b>>c>>d>>e>>f>>g;
vn=a+b+c;
tl=d+e+f;
if(a>=0 && a<=200 && b>=0 && b<=200 && c>=0 && c<=200 && d>=0
&& d<=200 && e>=0 && e<=200 && f>=0 && f<=200){
if(g==1){
if(vn>tl)
cout<<"VN"<<endl;
else if(vn<tl)
cout<<"TL"<<endl;
else if(vn==tl)
cout<<"TIE"<<endl;
}
else if(g==2){
if(a>d)
cout<<"VN"<<endl;
else if(a<d)
cout<<"TL"<<endl;
else if(b>e)
cout<<"VN"<<endl;
else if(b<e)
Trang 4cout<<"TL"<<endl;
else if(c>f)
cout<<"VN"<<endl;
else if(c<f)
cout<<"TL"<<endl;
else if(vn==tl)
cout<<"TIE"<<endl;
}
}
return 0;
}
Bài 5: MINIGAME2: CHAYBO
Hàng ngày vào mỗi buổi sáng sớm, Tèo thường rủ Tý ra công viên chạy bộ Vào một ngày nọ, Tèo thấy vui nên muốn chơi một trò chơi nhỏ với Tý Tèo chọn 3 gốc cây trong công viên, 3 gốc cây này tạo thành một hình tam giác như hình vẽ:
(Khoảng cách giữa các cây với nhau là tùy ý)
Tèo sẽ bắt đầu chạy từ A đến B, rồi từ B đến C, rồi lại quay về A Cứ chạy tiếp như vậy Mỗi giây Tèo chạy được 1 mét Tèo đố Tý rằng sau t giây kể từ lúc bắt đầu chạy, Tèo đang ở vị trí nào? (Câu trả lời chỉ là ở A, B, C hoặc trên quãng đường
AB, BC, CA)
Bạn hãy giúp Tý trả lời câu hỏi này nhé!
Input:
• Dòng 1: 3 số nguyên dương là khoảng cách giữa 3 gốc cây (mét) Lần lượt theo thứ tự là AB, BC, CA (mỗi số cách nhau một khoảng trắng)
• Dòng 2: số nguyên dương t - thời gian Tèo sẽ chạy
Output:
• Vị trí của Tèo sau t giây (tại A, B, C, hoặc là trên đường AB, BC, CA)
#include <stdio.h>
int main (){
int ab, bc, ca, t;
scanf("%d %d %d %d", &ab, &bc, &ca, &t);
int s = ab + bc + ca;
if(t >= s) t %= s;
if(t % s == 0) printf("A");
else if(t < ab) printf("AB");
else if(t == ab) printf("B");
else if(t < (s - ca)) printf("BC");
else if(t == (s - ca)) printf("C");
else if(t < s && t > (s - ca)) printf("CA");
return 0;
}
Bài 6: MANG1
Trang 5- Dòng 1: Nhập vào N là số lượng phần tử của
mảng
- Dòng 2: N số nguyên (mỗi số cách 1 khoảng
trắng)
Yêu cầu xuất tổng các phần tử đó ra màn hình
3
1 2 3
6
#include<iostream>
using namespace std;
int main(){
int a[100];
int n;
cin>>n;
for(int i=0;i<n;i++){
cin>>a[i];
}
int s=0;
for(int i=0;i<n;i++){
s=s+a[i];
}
cout<<s;
return 0;
}
Bài 7: MANG2
- Dòng 1: Nhập vào N là số lượng
phần tử của mảng
- Dòng 2: N số nguyên (mỗi số cách 1
khoảng trắng)
Yêu cầu xuất tổng các số chẵn trong mảng ra màn hình
4
1 2 3 4
6
#include<iostream>
using namespace std;
int main(){
int a[100];
int n;
cin>>n;
for(int i=0;i<n;i++){
cin>>a[i];
}
int s=0;
for(int i=0;i<n;i++){
if(a[i]%2 ==0)
s=s+a[i];
}
cout<<s;
Trang 6return 0;
}
Bài 8: MANG3
Dòng 1: Nhập vào N là số lượng phần tử của
mảng
- Dòng 2: N số nguyên (mỗi số cách 1 khoảng
trắng)
Yêu cầu xuất tổng các số chính phương ra màn hình
4
1 2 3 4
5
#include<iostream>
#include<cmath>
using namespace std;
int main(){
int a[100];
int n;
cin>>n;
for(int i=0;i<n;i++){
cin>>a[i];
}
int s=0;
for(int i=0;i<n;i++){
int x=sqrt(a[i]);
if(x*x==a[i])
s=s+a[i];
}
cout<<s;
return 0;
}
Bài 9: MANG4
- Dòng 1: Nhập vào N là số lượng
phần tử của mảng
- Dòng 2: N số nguyên (mỗi số cách 1
khoảng trắng)
Yêu cầu xuất tổng các số nguyên
tố ra màn hình
3
1 2 3
5
#include<iostream>
using namespace std;
int main(){
int a[100];
int n;
cin>>n;
Trang 7
for(int i=0;i<n;i++){
cin>>a[i];
}
int s=0;
for(int i=0;i<n;i++){//kiem tra a[i] cos phair SNT khong?
//neu a[i] laf SNt thi cong vao s
int dem=0; // dem la so luong uoc cua a[i]
for (int j=1; j<=a[i]; j++){
if(a[i]%j==0) dem++;
}
if (dem==2)
s+=a[i];// s=s+a[i]
}
cout<<s;
return 0;
}
Bài 10: MANG5
Dòng 1: Nhập vào N là số lượng phần tử
của mảng
- Dòng 2: N số nguyên (mỗi số cách 1
khoảng trắng)
- Dòng 1: xuất các số âm của dãy
- Dòng 2: xuất các số dương của dãy
input
4
1 -2 3 -4
output -2 -4
1 3
#include<iostream>
using namespace std;
int main(){
int a[100];
int n;
cin>>n;
for(int i=0;i<n;i++){
cin>>a[i];
}
for(int i=0;i<n;i++){
if(a[i]<0) cout<<a[i]<<" ";
}
cout<<endl;
for(int i=0;i<n;i++){
if(a[i]>0) cout<<a[i]<<" ";
}
return 0;
}
Trang 8Bài 11: MANG6
- Dòng 1: Nhập vào N là số lượng
phần tử của mảng
- Dòng 2: N số nguyên (mỗi số cách 1
khoảng trắng)
- Dòng 1: xuất các số chính phương của dãy
- Dòng 2: xuất các số nguyên tố của dãy
4
1 2 3 4
1 4
2 3
#include<iostream>
#include<cmath>
using namespace std;
int main(){
int a[100];
int n;
cin>>n;
for(int i=0;i<n;i++)
cin>>a[i];
for(int i=0;i<n;i++){
int x=sqrt(a[i]);
if(x*x==a[i])
cout<<a[i]<<" ";
}
cout<<endl;
for(int i=0;i<n;i++){
int dem=0;
for (int j=1; j<=a[i]; j++){
if(a[i]%j==0) dem++;
}
if (dem==2) cout<<a[i]<<" ";
}
return 0;
}
Bài 12: SOBANBE
Một cặp số nguyên dương được gọi là số bạn bè nếu tổng các ước số của số này (không tính bản thân số đó) bằng chính số kia và ngược lại Ví dụ 220 và 284 là cặp số bạn
bè vì tổng các ước số của 220 là: 1+2+4+5+10+11+20+22+44+55+110=284 và tổng các ước
số của 284 là 1+2+4+71+142=220 1184 và 1210 cũng là hai số bạn bè Hãy viết chương trình kiểm tra xem 2 số nhập vào có phải là số bạn bè hay không
Dữ liệu nhập: Là hai số nguyên a, b cách nhau một khoảng trắng (1 ≤ a, b ≤ 105)
Dữ liệu xuất: In ra YES nếu a, b là hai số bạn bè In ra NO nếu không phải
Trang 9/*Một cặp số nguyên dương được gọi là số bạn bè nếu tổng các ước số của số này bằng chính số kia Hãy viết chương trình kiểm tra xem 2 số nhập vào có
phải là số bạn bè hay không
Nếu phải thì xuất 'YES', ngược lại là 'NO'
*/
#include <iostream>
using namespace std;
int main(){
int a,b;
cin>>a>>b;
int tonga =0;
for(int i=1;i<a;i++){
if(a%i==0) tonga += i;
}
int tongb=0;
for(int i=1;i<b;i++){
if(b%i==0) tongb += i;
}
if(tonga==b && tongb==a) cout<<"YES";
else cout<<"NO";
return 0;
}
Bài 13: while04
Viết chương trình nhập vào 1 số nguyên n (n < 1000) và phân tích nó ra thành tích các thừa số nguyên tố?
#include<iostream>
using namespace std;
int main(){
int i=2;
int n;
cin>>n;
while (n>1){
while (n%i==0){
cout<<i;
n/=i;
if(n>1) cout<<"*";
}
i++;
}
return 0;
}