1. Trang chủ
  2. » Nghệ sĩ và thiết kế

Một số bài tập Upcoder2

10 156 1

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

THÔNG TIN TÀI LIỆU

/*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]

(1)

Bà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, hợp lệ cho biết sau giây bao nhiêu?

Dữ liệu vào: số nguyên giờ, phút, giây Dữ liệu ra:

- Dòng đầu xuất "YES" hợp lệ, ngược lại xuất "NO" không hợp lệ - Dịng thứ hai xuất sau giây hợp lệ

Input Output

1 YES

59 2:0:0 59

#include <iostream> using namespace std; int main()

{

int h, m, s;

cin >> h >> m >> s;

if (h < || h>23 || m < || m>59 || s < || 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 số nguyên dương (không lớn 500) số giải theo cấp độ bản, trung bình, nâng cao, khó

*/Dữ liệu đầu ra: gồm dòng

- Dòng ghi lại điểm kinh nghiệm coder - Dòng thứ hai ghi danh hiệu 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;

(2)

case 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) vị trí cốc có đồng tiền

• dịng tiếp theo, dòng số nguyên dương a, b cách khoảng trắng Là phép tráo đổi vị trí cốc thứ a cốc thứ b

Output:

• Số nguyên dương - số thứ tự 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;

(3)

else if (n == b) n = a; cout << n;

}

Bài 4: MINIGAME7: RANK

Các giải đấu thể thao quốc tế dành phần thưởng lớn cho đồn có thứ hạng cao Có hai cách để xếp hạng đồn:

Cách 1: Đồn có tổng số huy chương lớn xếp

Cách 2: Đồn có nhiều huy chương vàng xếp trên, xét đến huy chương bạc, xét đến huy chương đồng

Việt Nam Thái Lan hai cường quốc thể thao Đông Nam Á Cho biết số lượng huy chương hai đoàn cách xếp hạng ban tổ chức, cho biết đội xếp

Dữ liệu đầu vào:

• Dịng chứa số ngun khơng âm (khơng vượt 200) ghi lại số huy chương vàng, bạc, đồng Việt Nam số huy chương vàng, bạc, đồng Thái Lan

• Dịng chứa số nguyên ghi lại cách xếp hạng ban tổ chức Dữ liệu đầu ra:

• Nếu Việt Nam xếp xuất "VN"

• Nếu Thái Lan xếp xuất "TL"

• Nếu khơng phân định xuất "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)

(4)

cout<<"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 buổi sáng sớm, Tèo thường rủ Tý công viên chạy Vào ngày nọ, Tèo thấy vui nên muốn chơi trò chơi nhỏ với Tý Tèo chọn gốc công viên, gốc tạo thành hình tam giác hình vẽ:

(Khoảng cách với tùy ý)

Tèo bắt đầu chạy từ A đến B, từ B đến C, lại quay A Cứ chạy tiếp Mỗi giây Tèo chạy mét Tèo đố Tý sau t giây kể từ lúc bắt đầu chạy, Tèo vị trí nào? (Câu trả lời A, B, C quãng đường AB, BC, CA)

Bạn giúp Tý trả lời câu hỏi nhé! Input:

• Dịng 1: số ngun dương khoảng cách gốc (mét) Lần lượt theo thứ tự AB, BC, CA (mỗi số cách khoảng trắng)

• Dịng 2: số nguyên dương t - thời gian Tèo chạy Output:

• Vị trí Tèo sau t giây (tại A, B, C, đườ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;

}

(5)

- Dòng 1: Nhập vào N số lượng phần tử mảng

- Dòng 2: N số nguyên (mỗi số cách khoảng trắng)

Yêu cầu xuất tổng các phần tử màn hình

3 1

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 số lượng phần tử mảng

- Dòng 2: N số nguyên (mỗi số cách khoảng trắng)

Yêu cầu xuất tổng số chẵn trong mảng hình

4

1

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

(6)

return 0; }

Bài 8: MANG3

Dòng 1: Nhập vào N số lượng phần tử mảng

- Dòng 2: N số nguyên (mỗi số cách khoảng trắng)

Yêu cầu xuất tổng số phương hình

4

1

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 số lượng phần tử mảng

- Dòng 2: N số nguyên (mỗi số cách khoảng trắng)

Yêu cầu xuất tổng số nguyên tố hình

3 1

5 #include<iostream>

using namespace std; int main(){

int a[100];

(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 số lượng phần tử của mảng

- Dòng 2: N số nguyên (mỗi số cách khoảng trắng)

- Dòng 1: xuất số âm dãy

- Dòng 2: xuất số dương của dãy

input 4

1 -2 -4

output -2 -4 1

#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]<<" "; }

(8)

Bài 11: MANG6

- Dòng 1: Nhập vào N số lượng phần tử mảng

- Dòng 2: N số nguyên (mỗi số cách khoảng trắng)

- Dòng 1: xuất số phương dãy

- Dịng 2: xuất số nguyên tố của dãy

4 1 4

1 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 gọi số bạn bè tổng ước số số (khơng tính thân số đó) số ngược lại Ví dụ 220 284 cặp số bạn bè tổng ước số 220 là: 1+2+4+5+10+11+20+22+44+55+110=284 tổng ước số 284 1+2+4+71+142=220 1184 1210 hai số bạn bè Hãy viết chương trình kiểm tra xem số nhập vào có phải số bạn bè hay không

Dữ liệu nhập: Là hai số nguyên a, b cách khoảng trắng (1 ≤ a, b ≤ 105) Dữ liệu xuất: In YES a, b hai số bạn bè In NO

Input1 Output Input Output

(9)

/*Một cặp số nguyên dương gọi số bạn bè tổng ước số số bằng số Hãy viết chương trình kiểm tra xem số nhập vào có

phải số bạn bè hay khơng

Nếu phải xuất 'YES', ngược lại '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 số nguyên n (n < 1000) phân tích thành tích thừa số nguyên tố?

Input Output

90 2*3*3*5

#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++; }

(10)

Ngày đăng: 15/12/2020, 14:52

Xem thêm:

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w