Yêu cầu viết chương trình nhập vào 2 phân số, yêu cầu xuất phân số tổng của 2 phân số đó (phân số tổng được rút gọn, sau đó xuất ra màn hình).. Nếu input có phân số nào có mẫu bằng 0 th[r]
(1)1 FCT_Swap
2 số nguyên a b, số cách khoảng trắng số nguyên a b hoán đổi giá trị, số cách khoảng trắng
2 3
#include<iostream> using namespace std; void hoanvi(int &a, int &b); int main(){
int a,b; cin>>a>>b; hoanvi(a,b); cout<<a<<" "<<b; return 0;
}
void hoanvi(int &a, int&b){ int c=a;
a=b; b=c; }
2 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> #include<stdio.h> using namespace std; bool isSCP(int n); int main(){ int n, a[1000]; cin>>n;
for(int i=0;i<n;i++){ cin>>a[i];
} int s=0;
for(int i=0;i<n;i++){ if(isSCP(a[i]) == true){ s += a[i];
} } cout<<s; return 0; }
bool isSCP(int n){ int d=sqrt(n);
if(d*d==n) return true; else return false; }
3 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
(2)#include<iostream> #include<cmath> using namespace std; bool isSNT(int n); int main(){ int n, a[1000]; cin>>n;
for(int i=0;i<n;i++){ cin>>a[i];
} int s=0;
for(int i=0;i<n;i++){ if(isSNT(a[i]) == true){ s += a[i];
} } cout<<s; return 0; }
bool isSNT(int n){ int dem=0;
for( int i=1;i<=n;i++){ if(n%i ==0) dem++; }
if(dem ==2) return true; else return false; }
4 UCLN2:Cho hai số ngun khơng âm a b, tìm ước số chung lớn a b Gồm số a b cách khoảng trắng (0 ≤ a,
b ≤ 1018)
Số nguyên dương ước số chung lớn a b
6 3
#include<iostream> using namespace std; long UCLN(long a,long b); int main(){
long a,b; cin>>a>>b;
cout<<UCLN(a,b)<<endl; return 0;
}
long UCLN(long a, long b){ while (b>0){
long r=a%b; a=b;
b=r; } return a; }
5 XUATSNT
Nhập vào số nguyên n, yêu cầu xuất tất số nguyên tố từ đến n (mỗi số cách khoảng trắng) - khơng có số nào, xuất -1
(3)#include<iostream> using namespace std; bool isSNT(int n); int main(){ int n; cin>>n; if(n<2){ cout<<-1; }
else {
for(int i=1;i<=n; i++){ if(isSNT(i)==true){ cout<<i<<" "; }
} } return 0; }
bool isSNT(int n){ int dem=0;
for(int i=1;i<=n;i++){ if(n%i==0) dem++; }
if(dem==2) return true; else return false; }
6 DAONGUOC1
Nhập vào dãy số, tìm số có số đảo ngược lớn
123 12 1 341
123
#include<iostream> using namespace std; int soDaoNguoc(int n); int main(){
int x, a[100], n=0;
while (cin>>x) a[n++]=x;
int kq=0;
for(int i=0;i<n;i++){
//Tìm số đảo phần tử //lưu lại số đảo ngược lớn x=soDaoNguoc(a[i]);
if(x>kq) kq=x; }
cout<<soDaoNguoc(kq); return 0;
}
int soDaoNguoc(int n){ int kq=0;
while (n>0){ int r=n%10; kq=kq*10+r; n/=10; }
return kq; }
7 DAYSNT
Cho dãy số nguyên ,Hãy tìm số nguyên tố lớn nhỏ K dòng 1: số nguyên K
dòng : dãy số nguyên
(4)9
5 11 10 13
7
#include<iostream> using namespace std; bool isSNT(int n); int main(){
int k,x, a[100], n=0; cin>>k;
while (cin>>x) a[n++]=x;
int kq =-1;
for(int i=0;i<n;i++){ x=a[i];//x số xét if(isSNT(x)==true && x<=k){ //x SNT ko lớn k if(x>kq) kq =x;
} }
cout<<kq; return 0; }
bool isSNT(int n){ int dem=0;
for(int i=1;i<=n;i++){ if(n%i==0) dem++; }
if(dem==2) return true; else return false; }
8 PhanSo
xây dựng cấu trúc Phân Số (gồm tử mẫu số nguyên) với yêu cầu, xây dựng hàm sau:
- Nhập, xuất phân số - Hàm rút gọn
Viết chương trình nhập vào N phân số, yêu cầu tìm xuất phân số nhỏ (sau tối giản) - Dòng 1: số N
- N dòng tiếp theo, dòng gồm số nguyên tử mẫu phân số
Phân số nhỏ (sau tối giản)
2 2
1/2 #include <iostream>
using namespace std; struct PhanSo{ int tu, mau; };
void nhapPS(PhanSo &p); void xuatPS(PhanSo p); void rutGon(PhanSo &p); int UCLN(int a, int b); int main(){
int n;
PhanSo a[100]; cin >> n;
for(int i = 0; i < n; i++){ nhapPS(a[i]);
void nhapPS(PhanSo &p){ cin >> p.tu >> p.mau; }
void xuatPS(PhanSo p){
cout << p.tu << "/" << p.mau; }
void rutGon(PhanSo &p){ int x = UCLN(p.tu, p.mau); p.tu /= x;
p.mau /= x; }
int UCLN(int a, int b){ while (b > 0){ int r = a % b; a = b;
b = r; }
(5)}
PhanSo kq; kq.tu = a[0].tu; kq.mau = a[0].mau; for(int i = 1; i < n; i++){
if (kq.tu * a[i].mau > a[i].tu * kq.mau){ kq.tu = a[i].tu;
kq.mau = a[i].mau; }
}
rutGon(kq); xuatPS(kq); return 0; }
}
9 PhanSo1
Một phân số gồm tử mẫu (tử mẫu số nguyên lớn bé 100)
Yêu cầu viết chương trình nhập vào phân số, yêu cầu xuất phân số tổng phân số (phân số tổng rút gọn, sau xuất hình)
Nếu input có phân số có mẫu xuất kết -1
Dữ liệu đầu vào: gồm dòng, dòng gồm số nguyên cách tối thiểu khoảng trắng
Dữ liệu đầu ra: gồm dòng chứa phân số tổng (sau rút gọn) phân số ban đầu, xuất theo dạng: tửsố/mẫusố
1 1
5/6 1
1
-1 #include<iostream>
using namespace std; struct phanso{ int tu, mau; };
int UCLN(int a,int b); int main(){
phanso p1,p2;
cin>>p1.tu>>p1.mau; cin>>p2.tu>>p2.mau;
if(p1.mau==0||p2.mau==0){ cout<<-1;
} else {
phanso tong;
tong.tu=p1.tu*p2.mau+p2.tu*p1.mau; tong.mau=p1.mau*p2.mau;
//chưa rút gọn
int x=UCLN(tong.tu,tong.mau); tong.tu/=x;
tong.mau/=x;
cout<<tong.tu<<"/"<<tong.mau; }
return 0; }
int UCLN(int a,int b){ while (b>0){ int r=a%b; a=b; b=r; }
return a; }
10 DAYSNT
(6)dòng 1: số nguyên K
dòng : dãy số nguyên dòng : số nguyên tố lớn mà khơng lớn K, khơng có in -1 9
5 11 10 13
7 #include<iostream>
using namespace std; bool isSNT(int n); int main(){
int k,x, a[100], n=0; cin>>k;
while (cin>>x) a[n++]=x;
int kq =-1;
for(int i=0;i<n;i++){ x=a[i];//x số xét if(isSNT(x)==true && x<=k){ //x SNT ko lớn k if(x>kq) kq =x;
} }
cout<<kq; return 0; }
bool isSNT(int n){ int dem=0;
for(int i=1;i<=n;i++){ if(n%i==0) dem++; }