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

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

10 157 1

Đ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 10
Dung lượng 350,39 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

/*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 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, 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 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) 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 3

else 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 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 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 6

return 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 8

Bà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;

}

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

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w