Hồ Chí Minh cần in một số tài liệu để phục vụ giảng dạy và nghiên cứu, chúng có thể là luận văn/báo cáo nghiên cứu khoa học hoặc là giáo trình giảng dạy.. Biết rằng mỗi loại tài liệu [r]
(1)Một số tập Upcoder I Nhập & xuất:
1 Bài 1:Lấy xác chữ số thập phân Input: Nhập vào số ngun theo định dạng sau:
• Dịng 1: số nguyên a b
• Dịng 2: số ngun c d
• Dòng 3: số nguyên e f
Output:
• Xuất số kết biểu thức: (a+b+c)/(d+e+f)
#include<iostream> #include<stdio.h> using namespace std; int main(){
int a,b,c,d,e,f; cin>>a>>b; cin>>c>>d; cin>>e>>f;
printf("%.1f",(float)(a+b+c)/(d+e+f));
return 0; }
Sử dụng lệnh printf C: ví dụ muốn xuất chữ số thập phân biến x, với x biến số thực sử dụng sau: #include<stdio.h>
• printf("%.2f",x);
2 Bài 2:Bảng mã ASCII Input:
• Dịng 1: chứa ký tự
• Dịng 2: chưa ký tự Output:
• Xuất tổng nguyên ký tự input hình (dựa vào hệ 10 ký tự bảng mã ascii)
#include<iostream> using namespace std; int main(){
char a,b; cin>>a; cin>>b;
cout<<(int)a+(int)b; return 0;
}
3 giá trị tuyệt đối số nguyên Input:
• Nhập vào số nguyên Output:
• Xuất giá trị tuyệt đối số nguyên
#include<iostream> #include<cmath> using namespace std; int main(){
int n; cin>>n;
(2)}
II If… (If…else…) _ witch…case…
1 số phương: Nhập vào số
Kiểm tra số có phải số phương khơng?
Xuất: yes, số phương, ngược lại xuất no
#include<iostream> #include<cmath> using namespace std; int main(){
int x,i; cin>>x;
i=sqrt(x);
if(i*i==x) cout<<"yes"; else cout<<"no";
return 0; }
2 số nguyên tố Nhập vào số
Kiểm tra số có phải số ngun tố khơng?
Xuất: true, số nguyên tố, ngược lại xuất false
#include<iostream> using namespace std; int main(){
int n; cin>>n;
int dem=0;
for( int i=1; i<=n; i++){ if(n%i==0) dem++; }
if(dem==2) cout<<"true"; else cout<<"false";
return 0; }
3 số hoàn hảo
Số hoàn hảo số mà tổng ước số (khơng tính nó)
yêu cầu: nhập vào số, xuất Yes số hồn hảo, ngược lại xuất No
#include <iostream> using namespace std; int main() {
int n; cin >> n; int tonguoc=0; for (int i=1; i<n;i++){ if(n%i==0) tonguoc +=i; }
(3)else cout<<"No"; return 0;
}
4 nhập vào số nguyên phép toán Yêu cầu thực phép toán (là
phép toán: +,-,*,%) Input:
• Dịng 1: nhập vào số ngun A, B • Dịng 2: Nhập vào phép tốn Output:
• Biểu thức thực phép tốn.
#include<iostream> using namespace std; int main(){
int a,b; char c cin>>a>>b; cin>>c;
if(c=='+') cout<<a<<c<<b<<"="<<a+b; else if(c=='-') cout<<a<<c<<b<<"="<<a-b; else if(c=='*') cout<<a<<c<<b<<"="<<a*b; else if(c=='%') cout<<a<<c<<b<<"="<<a%b; return 0;
}
5 Chẳn lẻ
#include<iostream> using namespace std; int main(){
int x; cin>>x;
if(x%2 == 0){ cout<<"chan"; }
else cout<<"le";
return 0; }
6 Tìm sơ lớn nhât sơ nhỏ sơ
#include<iostream> using namespace std; int main(){
int a,b,c; cin>>a>>b>>c;
int max=a;
if (max<b) max=b; if (max<c) max=c;
int min=a; if(min>b) min=b; if(min>c) min=c;
(4)
return 0; }
7 Phương trình bậc nhất:
Giải phương trình Ax + B = Với A, B hai hệ sô kiểu số nguyên nhập vào từ bàn phím
- Nếu phương trình vơ nghiệm xuất kết quả: VN - Nếu phương trình VSN xuất : VSN
- Nếu phương có nghiệm, xuất nghiệm (Lưu ý: kết xuất số thực (lấy chữ số thập phân)
#include<iostream> #include<stdio.h> using namespace std; int main(){
int a,b; cin>>a>>b;
if(a == 0){
if(b==0) cout<<"VSN"; else cout<<"VN"; }
else {
printf("%.2f",(float)-b/a); }
return 0; }
8 PT bậc 2: Input:
- Gồm dòng, dòng số nguyên, tương ứng với hệ số a,b,c Output:
- Nếu phương trình có nghiệm, xuất nghiệm lấy chữ số thập (nếu có nghiệm xuất nghiệm hàng riêng biệt)
- Nếu phương trình vơ nghiệm, xuất VN - Nếu phương trình vơ số nghiệm, xt VSN
Lưu ý: a=0, phương trình trở thành phương trình bậc
#include<iostream> #include<stdio.h> #include<cmath> using namespace std; int main(){
int a,b,c; cin>>a; cin>>b; cin>>c;
if(a==0){ if(b==0){
if(c==0) cout<<"VSN"; else cout<<"VN"; }
else {
printf("%.4f",(float)-c/b); }
} else{
(5)if (d<0) cout<<"VN"; else if (d==0){
float x=(float)-b/(2*a); printf("%.4f",x);
} else{
float x1 =(float)(-b+sqrt(d))/(2*a); float x2 =(float)(-b-sqrt(d))/(2*a); printf("%.4f\n%.4f",x1,x2);
} }
return 0; }
9 số tờ giấy A4 tối thiểu cần dùng
Khoa Công nghệ Thông tin - trường Đại học Sư phạm TP Hồ Chí Minh cần in số tài liệu để phục vụ giảng dạy nghiên cứu, chúng luận văn/báo cáo nghiên cứu khoa học giáo trình giảng dạy Biết loại tài liệu có quy định khác nhau:
• Nếu luận văn báo cáo khoa học phải in mặt
• Nếu giáo trình, in mặt để tiết kiệm chi phí • Tất loại tài liệu phải in giấy A4
Yêu cầu tính số lượng giấy tối thiểu cần dùng để in hết tài liệu
Input:
• Gồm số ngun khơng âm: T, P C Trong T loại tài liệu (1 luận văn/báo cáo khoa học, giáo trình), P số trang tài liệu C số cần in (1 ≤ T ≤ 2, ≤ P, C, ≤ 109)
Output:
• số tờ giấy A4 tối thiểu cần dùng
#include <iostream> using namespace std; int main(){
long T,P,C,A4; cin>>T>>P>>C; 1<=T<=2; if (T == 1)
{
A4 = P * C;
cout << A4 << endl; }
else if (T == 2){ if (P % == 0){
A4 = P / * C; }
else{
A4 = (P+1) / * C ; } cout << A4 << endl;
}
return 0; }
10 Viết chương trình nhập vào số nguyên ngày tháng năm Hãy xác định ngày tháng năm có hợp lệ hay không
Lưu ý:
(6)- Năm phải >= 1900
- Năm nhuận năm chia hết cho 400 chia hết cho không chia hết cho 100 Input: số nguyên dương
Output: YES (hợp lệ), NO (không hợp lệ) Vd:
Input: 28 2017 Output: YES
#include<iostream> using namespace std; int main(){
int d,m,y; cin>>d>>m>>y;
if(y<1900 || m<1 ||m>12||d<1||d>31){ cout<<"NO";
} else{
int daymax; switch(m){
case 4: case 6: case 9: case 11: daymax=30;
break;
case 1: case 3: case 7: case 8: case 10: case 12: daymax=31;
break; case 2:
if(y%400==0||(y%4==0&&y%100!=0)){ daymax=29;
}
else daymax=28; break;
}
if(d<=daymax) cout<<"YES"; else cout<<"NO";
}
return 0; }
11 giá trị lớn
Input: số nguyên a, b, c ,d, e (đều bé 10^5)
Output: xuất số có giá trị lớn số Input
#include<iostream> using namespace std; int main(){
int a,b,c,d,e; cin>>a>>b>>c>>d>>e;
int max=a;
if(max<b) max=b; if(max<c) max=c; if(max<d) max=d; if(max<e) max=e; cout<<max;
return 0; }
(7)Input:
• Nhập vào số gồm chữ số Output:
• Tính tổng chữ số nhỏ chữ số lớn số input
#include<iostream> using namespace std; int main(){
int n; cin>>n;
int a,b,c,d; d=n%10; c=(n/10)%10; b=(n/100)%10; a=n/1000;
int max,min;
max=a;min=a; if(max<b) max=b; if(max<c) max=c; if(max<d) max=d;
if(min>b) min=b; if(min>c) min=c; if(min>d) min=d;
cout<<max+min;
return 0; }
III Vòng lặp for…; while …; do…while
1 Nhập vào dãy số, yêu cầu tính tổng chữ số dãy đó.
#include <iostream> using namespace std; int main() {
int n;
while (cin>>n){ int tongchuso=0; while(n>0){ int r=n%10; tongchuso += r; n/=10;
}
cout<<tongchuso<<endl; }
return 0; }
2 Viết chương trình in hình ngơi (với chiều cao h nhập từ bàn phím)
(8)int n; cin>>n;
for(int i=1;i<=n;i++){ for(int j=1;j<=i;j++){ cout<<"*"; }
cout<<endl; }
return 0; }
3 Viết chương trình in hình hình chữ nhật với độ dài cạnh nhập vào từ
bàn phím.
Input: số nguyên dương a, b
Output: hình chữ nhật tương ứng độ dài cạnh
#include <iostream> using namespace std; int main() {
unsigned long a,b; cin>>a>>b;
for (int c=1 ; c<=a ; c++) {
for (int d=1 ; d<=b ; d++) cout<<"*";
if (c<a) cout<<endl; }
}
4 u cầu tìm UCLN số đó.
#include<iostream> using namespace std; int main(){
int a,b; cin>>a>>b;
while(b>0){ int r=a%b; a=b; b=r; }
cout<<a;
return 0; }
/*Nhập vào số nguyên a và b Yêu cầu tìm UCLN của số đó */
// giải thuật euclid: //ucln(a,b) = a b=0
//ucln(a,b) =ucln(b,a%b) b>0
5 Xuất tổng số lẻ từ đến n
#include <iostream> using namespace std; int main(){
int n; cin>>n;
int s=0;
(9)s +=i; }
cout<<s;
return 0; }
6 Viết chương trình nhập vào số nguyên đếm xem có chữ số?
#include<iostream> using namespace std; int main(){
long n; cin>>n;
int x;
while(n>=10){ n/=10; x++; }
cout<<x+1;
return 0; }
7 Viết chương trình nhập vào số nguyên n (n <= 10^18) xuất số đảo ngược
của nó?
#include<iostream> using namespace std; int main(){
long n,a; cin>>n;
long b = 0; while(n > 0){ a = n % 10; b = b * 10 + a; n = n / 10; }
cout<<b;
return 0; }
8 Viết chương trình tính tổng chữ số số tự nhiên n (n <= 10^18)?
Giải thích: Ouput kết 12 , 4+5+3=12
#include<iostream> using namespace std; int main(){
long n,kq=0; cin>>n; while(n>0){ int r=n%10; kq=kq+r; n/=10; }
cout<<kq;
(10)}
9 Viết chương trình tính tổng số tự nhiên n số ngược nó?
Giải thích: kết 807 453+354=807 #include<iostream>
using namespace std; int main(){
long x,n; cin>>x; long z; z=x;
long y=0; while(x>0){
n=x%10; //gía trị chia lấy dư y=y*10+n;//
x=x/10; }
cout<<z+y;