杭电oj11页 (c++) 31-40

31、2031

#include<iostream>
using namespace std;

int abs(int m)
{
	if (m < 0)return -m;
	return m;
}


void exchange(int num,int b){
	int c=1;
	int num2 = abs(num);
	int a[200] = {0};
	int k = 0;
	while (num2 !=0)
	{
		 c = num2 % b;
		 num2 = num2 / b;
		a[k] = c;
		k++;
	}

	if (num < 0)cout << "-";
	for (int i = k-1; i >=0; i--)
	{
		if (a[i] < 10)
		{
			cout << a[i];
		}
		else {
			switch (a[i])
			{
			case 10:cout << "A"; break;
			case 11:cout << "B"; break;
			case 12:cout << "C"; break;
			case 13:cout << "D"; break;
			case 14:cout << "E"; break;
			case 15:cout << "F"; break;
			}
		}

	}
}
int main()
{
	int num, b;
	while (cin >> num >> b)
	{
		exchange(num, b);
		cout << endl;
	}

	return 0;
}

32、2032

#include<iostream>
using namespace std;

int main()
{
	int m;
	while (cin >> m&&m<=30&m>=1)
	{
		int a[31][31] = {0 };
		a[0][1] = 1;
		cout << a[0][1] << endl;
		for (int i = 1; i < m; i++)
		{
			for (int j = 1; j < i + 2; j++)
			{
				a[i][j] = a[i - 1][j - 1] + a[i - 1][j];
				cout << a[i][j];
				if (j + 1 < i + 2)
				{
					cout << " ";
				}
			}
			cout << endl;
		}
		cout << endl;
	}
}


33、2033

#include<iostream>
using namespace std;

void count(int  s[])
{
	
}
int main()
{
	int m;
	while (cin >> m)
	{
		int s[6];
		cin.ignore();
		for (int i = 0; i < m; i++)
		{
			for (int j = 0; j < 6; j++)
			{
				cin >> s[j];
			}
			s[2] = s[2] + s[5];
			s[1] = s[1] + s[4];
			s[0] = s[0] + s[3];
			if (s[2] >= 60)
			{
				s[2] = s[2] - 60;
				s[1]++;
			}
			if(s[1]>=60)
			{
				s[1] = s[1] - 60;
				s[0]++;
			}
			for (int j = 0; j < 3; j++)
			{
				cout<< s[j];
				if (j + 1 < 3)
				{
					cout << " ";
				}
			}
			cout << endl;
		}
		
	}
}

34、2034

#include<iostream>
using namespace std;
int main()
{
	int n, m;
	while (cin >> n >> m)
	{
		cin.ignore();
		if (n != 0 || m != 0)
		{
			int a[100], b[100], c[100];
			for (int i = 0; i < n; i++)
			{
				cin >> a[i];
			}
			for (int j = 0; j < m; j++)
			{
				cin >> b[j];
			}
			int k = 0;
			for (int i = 0; i < n; i++)
			{
				int flag = 0;
				for (int j = 0; j < m; j++)
				{
					if (a[i] == b[j])
					{
						flag = 1;
					}
				}
				if (flag == 0)
					c[k++] = a[i];
			}
			if (k == 0)
				cout << "NULL";
			else
			{
				int temp, j;
				for (int i = 1; i < k; i++)
				{
					temp = c[i];
					j = i - 1;
					while (j >= 0 && temp < c[j])
					{
						c[j + 1] = c[j];
						j--;
					}
					c[j + 1] = temp;

				}
				for (int i = 0; i < k; i++)
				{
					cout << c[i] << " ";
				}
			}
			cout << endl;

		}

	}
	return 0;

}

35、2035

#include<iostream>
using namespace std;
int main()
{
	int n, m;
	while (cin >> n &&n>=1)
	{
		cin.ignore();
		cin >> m;
		if (m > 10000)
		{
			break;
		}
		int s =1;
		for (int i = 0; i < m; i++)
		{
			s = (s * n) % 1000;
		}
		cout << s << endl;

	}
}

36、2036

#include<iostream>
#include<iomanip>
using namespace std;
int main()
{
	int m;
	while (cin >> m && m >= 3 & m <= 100)
	{
		double sum=0;
		int x[100];
		int y[100];
		for (int i = 0; i < m; i++)
		{
			cin >> x[i];
			cin >> y[i];
		}
		for (int i = 0; i < m -2; i++)
		{
			sum = sum + x[0] * y[i + 1] - x[i + 1] * y[0] + x[i + 1] * y[i + 2] - x[i + 2] * y[i + 1] - x[0] * y[i + 2] + x[i + 2] * y[0];
		}
		cout << fixed << setprecision(1) << sum/2 << endl;

	}
}

37、2037

#include<iostream>
#include<iomanip>
using namespace std;

void swap(int& a, int& b)
{
	int temp = a;
	a = b;
	b = temp;
}
struct act
{
	int start;
	int end;

};

void insertSort(struct act* a, int length)
{
	for (int i = 1; i < length; i++)
	{
		for (int j = i - 1; j >= 0 && a[j + 1].end < a[j].end; j--)
		{
			swap(a[j], a[j + 1]);
		}
	}

};

int main()
{
	int m;
	while (cin >> m && m <= 100)
	{
		if (m == 0)return 0;
		struct act s[100];
		for (int i = 0; i < m ; i++)
		{
			cin >> s[i].start;
			cin >> s[i].end;
		}
		insertSort(s,m);
		int sum = 1;
		for (int j = 0,i=1; i < m; i++)
		{
			if (s[i].start >= s[j].end)
			{
				sum++;
				j = i;
			}
		}
		cout << sum << endl;
	}
}

39、2039

#include<iostream>
#include<iomanip>
using namespace std;



int main()
{
	int m;
	while (cin >> m)
	{
		double a = 0, b = 0, c = 0;
		for (int i = 0; i < m; i++)
		{
			cin >> a;
			cin >> b;
			cin >> c;
			if (a >= 1000 && b >= 1000 && c >= 1000)
			{
				return 0;
			}
			if (a + b > c && a + c > b && b + c > a)
			{
				cout << "YES" << endl;;
			}
			else {
				cout << "NO" << endl;
			}
		}

	}
}

40、2040

#include<iostream>
using namespace std;

void check(int m, int n)
{
	int sum1 = 0, sum2 = 0;
	for (int i = 1; i < m; i++)
	{
		if (m % i == 0)
		{
			sum1 += i;
		}
	}
	for (int i = 1; i < n; i++)
	{
		if (n % i == 0)
		{
			sum2 += i;
		}
	}
	if (n ==sum1 && m ==sum2)
	{
		cout << "YES" << endl;
	}
	else
	{
		cout << "NO" << endl;
	}
}

int main()
{
	int m;
	while (cin >> m&&m>=0)
	{
		int n1 = 0, n2 = 0;
		for (int i = 0; i < m; i++)
		{
			cin >> n1;
			cin >> n2;
			check(n1, n2);
	}


	}
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值