PAT (Basic) 1011~1015

1011. A+B和C (15)

#include <iostream>

using namespace std;

int main()
{
	int n;
	cin >> n;
	for (int i = 0; i < n; i++)
	{
		long long a, b, c;
		cin >> a >> b >> c;
		cout << "Case #" << i + 1 << ": ";
		if (a > 0 && b > 0 && c < 0)
			cout << "true" << endl;
		else if (a < 0 && b < 0 && c > 0)
			cout << "false" << endl;
		else
		{
			if (a + b > c)
				cout << "true" << endl;
			else
				cout << "false" << endl;
		}
	}
	return 0;
}

1012. 数字分类 (20)

#include <iostream>

using namespace std;

int main()
{
	int n;
	cin >> n;
	bool flag[5];
	for (int i = 0; i < 5; i++)
		flag[i] = false;
	int sum0 = 0;
	int fg = 1;
	int sum1 = 0;
	int count = 0;
	int remain3 = 0, cnt3 = 0;
	int maxremain4 = 0;

	for (int i = 0; i < n; i++)
	{
		int tmp;
		cin >> tmp;
		if (tmp % 10 == 0)
		{
			flag[0] = true;
			sum0 += tmp;
		}
		else if (tmp % 5 == 1)
		{
			flag[1] = true;
			sum1 += fg * tmp;
			fg *= -1;
		}
		else if (tmp % 5 == 2)
		{
			flag[2] = true;
			count++;
		}
		else if (tmp % 5 == 3)
		{
			flag[3] = true;
			cnt3++;
			remain3 += tmp;
		}
		else if (tmp % 5 == 4)
		{
			flag[4] = true;
			if (tmp > maxremain4)
				maxremain4 = tmp;
		}
	}
	if (flag[0])
		cout << sum0 << " ";
	else
		cout << "N ";
	if (flag[1])
		cout << sum1 << " ";
	else
		cout << "N ";
	if (flag[2])
		cout << count << " ";
	else
		cout << "N ";
	if (flag[3])
		printf("%.1f ", remain3 * 1.0 / cnt3);
	else
		cout << "N ";
	if (flag[4])
		cout << maxremain4 << endl;
	else
		cout << "N" << endl;
	
	return 0;
}

1013. 数素数 (20)

#include <iostream>
#include <cstring>
#include <string>
#include <vector>

using namespace std;

const int MAX = 105000;

bool prime[MAX];

void init()
{
	memset(prime, true, sizeof(prime));
	for (int i = 2; i <= MAX >> 1; i++)
	{
		for (int j = i << 1; j < MAX; j += i)
			prime[j] = false;
	}
}

vector<int> primes;

int main()
{
	init();
	primes.push_back(0);
	for (int i = 2; i < MAX; i++)
	{
		if (prime[i])
			primes.push_back(i);
	}

	int M, N;
	cin >> M >> N;
	int lines = (N - M) / 10 + 1;
	int index = M;
	
	if (lines == 1)
	{
		cout << primes[index++];
		int space = N - M;
		while (space--)
			cout << " " << primes[index++];
		cout << endl;
	}
	else
	{
		for (int i = 1; i < lines; i++)
		{
			for (int j = 0; j < 9; j++)
				cout << primes[index++] << " ";
			cout << primes[index++] << endl;
		}
		while (index < N)
			cout << primes[index++] << " ";
		cout << primes[N] << endl;
	}
	return 0;
}

1014. 福尔摩斯的约会 (20)

同PAT-A-1061.Dating (20)见http://blog.csdn.net/hale1007/article/details/20460423

1015. 德才论 (25)


同PAT-A- 1062. Talent and Virtue (25) 见:http://blog.csdn.net/hale1007/article/details/20286761


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值