/*6-1*/
#include <iostream.h>
#include <stdlib.h>
int max(int a,int b,int c);
int main(){
int array[5][3];
for(int i=0;i<5;i++){
	for(int j=0;j<3;j++){
		array[i][j]=rand()%100;
		cout<<array[i][j]<<" ";
	}
	cout<<endl;
}
cout<<endl;
for (int n=0;n<5;n++){
cout<<""<<n<<"=>"<<max(array[n][0],array[n][1],array[n][2])<<endl;
}
return 0;
}

int max(int a,int b,int c){
	int max=0;
	if(a>b){max=a;}
		else max=b;
		if(max<c){max=c;}
return max;}



/*6-2*/
#include <iostream.h>
#define N 4
int comdivisor(int a,int b);
int main(){
	int data[3][N];
	cout<<"2*4"<<endl;
	for(int i=0;i<N;i++){
		for(int j=0;j<2;j++){
			cin>>data[j][i];
		}
		data[2][i]=comdivisor(data[0][i],data[1][i]);
		
	}
	for(int p=0;p<3;p++){
		for(int q=0;q<N;q++){
			cout<<data[p][q]<<" ";
		}
		cout<<endl;
	}	
return 0;}

int comdivisor(int a,int b){
	int comdivisor=1;
	for(int c=1;c<=a&&c<=b;c++){
		if(a%c==0&&b%c==0){comdivisor=c;}
	}
	return comdivisor;
}




/*6-3*/
#include <iostream.h>
#include <stdlib.h>
int main(){
	int a[20],b[20],c[20];
	for(int i=0;i<20;i++){
		a[i]=rand()%100;
		cout<<a[i]<<" ";
	}
	cout<<endl;
	int odd=0;int even=0;
	for(int j=0;j<20;j++){
		if(a[j]%2){
			b[odd]=a[j];
			odd++;
		}
		else{
			c[even]=a[j];
			even++;
		}
	}
	for(int o=0;o<odd;o++){
		cout<<b[o]<<" ";
	}
	cout<<"Ϊ"<<odd<<endl;
	for(int e=0;e<even;e++){
		cout<<b[e]<<" ";
	}
	cout<<"żΪ"<<even<<endl;
	return 0;
}



/*5-1*/
#include <iostream.h>
#include <stdlib.h>
int check(int x);
int main(){
	int i,n=0,sum=0;
	for(i=1;i<51;){
		int f=1;
		while (f){
			n=rand()%1000;
			if(99<n&&n<1000){
				f=0;i++;
				if(check(n)){
					cout<<i<<":"<<n<<endl;
					sum+=n;
				}
			}
		}
	}
	cout<<"sum="<<sum<<endl;
	return 0;
}

int check(int x){
	int a,b,c;
	c=x%10;
	b=(x%100-c)/10;
	a=(x-c-b*10)/100;
	if(a<=b+c)return 1;
	else return 0;
}


/*5-2*/
#include <iostream.h>
#include <math.h>
int digit(int x);
int main(){
	int array[5];int d;
	cout<<"5"<<endl;
	for(int i=0;i<5;i++){
		cin>>array[i];
		d=digit(array[i]);
		cout<<", :"<<d<<endl;

	}
	return 0;}

int digit(int x){
	int a=0,b=0;
	int div=1;
	int p;
	while (div)
	{
		p=pow(10,a);
		if(div=x/p)
		a++;
	}
	b=x/pow(10,a-1);
	cout<<x<<"λ:"<<a<<", λ"<<b;
	if(x>0)return a*b;
		else return 0;
}



/*5-3*/
#include <iostream.h>
#include <math.h>
int ascend(int x);
int main(){
	int array[5];
	cout<<"5"<<endl;
	for(int i=0;i<5;i++){
		cin>>array[i];
		if(ascend(array[i]))
			cout<<"<"<<array[i]<<">:<>"<<endl;
		else
			cout<<"<"<<array[i]<<">:<>"<<endl;
	}
	return 0;
}
int ascend(int x){
	int a=0,b[99999];
	int div=1;
	int p,q;
	int cf=1;
	while (div)
	{
		p=pow(10,a);
		if(div=x/p)
		a++;
	}
	for(int j=1;j<=a;j++){
		p=pow(10,j);
		q=pow(10,j-1);
	    b[j-1]=(x%p)/q;
//		cout<<b[j-1]<<" ";
	}
	while(cf&&(a-1))
	{
		if(b[a-1]>b[a-2]){cf=0;return 0;}
		else a--;
	}
	if(cf)return 1;
}


//0xxxxΪ˽




/*5-4*/
#include <iostream.h>
#include <math.h>
int digit(int x);
int main(){
	int a=1;
	int data;
	while(a)
	{
		cout<<""<<endl;
		cin>>data;
		if(digit(data)){a=0;cout<<"Swap("<<data<<")="<<digit(data)<<endl;}
		else cout<<"Ĳ4λ"<<endl;
	}
	return 0;
}

int digit(int x){
	int a=0,p=0,q=0;
	int b[99999];
	int c;
	int div;
	while (div)
	{
		p=pow(10,a);
		if(div=x/p)
		a++;
	}
	if(a==4){
		for(int j=1;j<=4;j++){
		p=pow(10,j);
		q=pow(10,j-1);
	    b[j-1]=(x%p)/q;
		}
		c=b[0];b[0]=b[3];b[3]=c;
		x=b[3]*1000+b[2]*100+b[1]*10+b[0];
		return x;
	}
	else return 0;
}


/**4-2*/
#include <iostream.h>
#include <math.h>
long f(long n);
double cs(double x,int n);
int main(){
	double x;int n;
	cout<<"x(1~5),n"<<endl;
	cin>>x>>n;
	cout<<"cos("<<x<<")="<<cs(x,n)<<endl;
	return 0;
	
}


long f(long n){
	long r=1;
	for (;n>0;n--){r=r*n;}
	return r;
}

double cs(double x,int n){
	double result;
	if(n==0){result=1;}
	else result=cs(x,n-1)+pow(-1,n)*pow(x,2*n)/f(2*n);
	return result;
}



/*5-5*/
#include <iostream.h>
#include <math.h>
double g(int m,double x);
double f(int n,double x);
int main (){
	double data,m;
	cout<<"x(-1~1),n"<<endl;
	cin>>data>>m;
	cout<<"f("<<data<<")="<<f(m,data)<<",(n="<<m<<")"<<endl;
	return 0;
}


double g(int m,double x){
	return (1+m)*m*x/2;
}
double f(int n,double x){
	double result;
	if(n==0){result=1;}
	else {result=f(n-1,x)+1/g(2*n+1,x);}
	return result;
}


/*4-3*/
#include <iostream.h>
#include <math.h>
double fn(double x);
int main(){
	double x;
	cout<<"x(-1~1)"<<endl;
	cin>>x;
	cout<<"f("<<x<<")="<<fn(x)<<endl;
	return 0;	
}

double fn(double x){
	double result=x;int n=1;double k=x;	
	while(k>=0.000001){
		result+=pow(-1,n)*pow(x,2*n+1)/((2*n-1)*(2*n+1));
		n++;
		k=pow(x,2*n+1)/((2*n-1)*(2*n+1));
	}
	return result;			
}


/*3-1*/
#include <iostream.h>
#include <stdlib.h>
int main(){
	char a,b,c;
	int number;
	for(int i=0;i<20;i++){
		a=48+rand()%10;	
		b=48+rand()%10;
		c=48+rand()%10;
		number=(a-48)*100+(b-48)*10+c-48;
		cout<<a<<"  "<<b<<"  "<<c<<"  "<<number<<endl;
	}
	return 0;
}

/*3-2*/
#include <iostream.h>
int main (){
	char c[]="THIS IS MY COMPUTER";
	for (int i=1;c[i]!='\0';){
		if(c[i]==char(32)){i+=2;}
		else {c[i]+=32;i++;}
	}
	for (int j=0;c[j]!='\0';j++)
		cout<<c[j];
	cout<<endl;
	return 0;
}		