1. 求2-n之间与n的互质数:
#include<iostream>
using namespace std;
int GYS_Max(int a, int b) {
int s;
for (int i = 1; i <= a; i++) {
if (a % i == 0 && b % i == 0) {
s = i;
}
}
return s;
}
int Huzhishu(int n){
//int s=n>m?m:n;
int a=0;
for(int i=2;i<=n;i++){
if(GYS_Max(i,n)==1){
a++;
}
}
return a;
}
int main(){
int a;
cin>>a;
cout<<Huzhishu(a);
}
2.简化分数:
#include<iostream>
using namespace std;
int GYS_Max(int a, int b) {
int s;
for (int i = 1; i <= a; i++) {
if (a % i == 0 && b % i == 0) {
s = i;
}
}
return s;
}
int main(){
int a,b,s;
//char c;
//cin>>a>>c>>b;
scanf("%d/%d",&a,&b);
s=GYS_Max(a,b);
if(s>1){
a=a/s;
b=b/s;
}
cout<<a<<'/'<<b;
}
3.求排列组合:
#include<iostream>
using namespace std;
int Arrange(int n,int m){
int s=1;
for(int i=n;i>n-m;i--){
s*=i;
}
return s;
}
int Combine(int n,int m){
int s=1;
s=Arrange(n,n)/Arrange(m,m)/Arrange(n-m,n-m);
return s;
}
int main(){
int a,b;
cin>>a>>b;
cout<<Arrange(a,b)<<endl<<Combine(a,b);
}
4 求最大值函数:
int Max3(int a,int b,int c){
if(a>b&&a>c){
return a;
}else if(b>a&&b>c){
return b;
}else{
return c;
}
}
5.输出杨辉三角:
#include<iostream>
using namespace std;
int GYS_Max(int a, int b) {
int s;
for (int i = 1; i <= a; i++) {
if (a % i == 0 && b % i == 0) {
s = i;
}
}
return s;
}
int Arrange(int n, int m) {
int s = 1;
for (int i = n; i > n - m; i--) {
s *= i;
}
return s;
}
int Combine(int n, int m) {
int s = 1;
s = Arrange(n, n) / Arrange(m, m) / Arrange(n - m, n - m);
return s;
}
int Max3(int a, int b, int c) {
if (a > b && a > c) {
return a;
} else if (b > a && b > c) {
return b;
} else {
return c;
}
}
void YH_Triangle(int a) {
int m = 2 * a - 1;
int ar[a][2*a];
for (int p = 0; p < a; p++) {
for (int q = 0; q < m; q++) {
ar[p][q] = 0;
}
}
ar[0][m] = 1;
for (int i = 1; i < a; i++) {
for (int j = m - i; j <= m + i; j++) {
ar[i][j] = ar[i - 1][j - 1] + ar[i - 1][j + 1];
}
}
for (int x = 0; x < a; x++) {
for (int y = 0; y < a; y++) {
if (ar[x][y] > 0) {
cout << ar[x][y];
} else {
cout << " ";
}
}
cout << endl;
}
}
int main() {
int a;
cin >> a;
YH_Triangle(a);
}