北京市赛2019

博客提及素数、乒乓球、乘法、喜好、回文数列等内容,其中素数和回文数列属于信息技术领域相关概念。
素数
#include <cstdio>
#include <iostream>
#include <algorithm>
using namespace std;

//判断质数 
bool isPrime(int x) {
	if (x < 2) return false;
	
	for (int i = 2; i <= x/i; i ++) {
		if (x % i == 0) return false;
	}
	
	return true;
}

//求最大公约数 
int gcd(int x, int y) {
	if (y == 0) return x;
	return gcd(y, x % y);
}

int main() {
	int m, n, t;
	cin >> m >> n;

	if (gcd(m,n) == 1) {
		t = m + n;
		cout << t << endl;
		if (isPrime(t)) cout << "YES";
		else cout << "NO";
	}
	else {
		//长整形转换 
		cout << (long long) m * n << endl;
		cout << "NO";
	}
	
	return 0;
}
乒乓球
#include <cstdio>
#include <iostream>
using namespace std;

int main() {
	char ch;
	
	int a = 0, b = 0;
	//连续输入字符的方法 
	while (cin >> ch) {
		//比赛结束 
		if (ch == 'E') break;
		
		//樊振东得分 
		if (ch == 'F') {
			a ++;
			if (a == 11 && b < 10 || a > 11 && a - b == 2) {
				printf("%d:%d\n", a, b);
				a = 0;
				b = 0;
			}
		}
		//对手得分 
		else if (ch == 'A') {
			b ++;
			if (b == 11 && a < 10 || b > 11 && b - a == 2) {
				printf("%d:%d\n", a, b);
				a = 0;
				b = 0;
			}
		}
	}
	
	//最后一局虽然没比完,也要输出得分 
	if (a != 0 || b != 0) {
		printf("%d:%d\n", a, b);
	}
	
	return 0;
}
乘法
#include <cstdio>
#include <iostream>
#include <algorithm>
using namespace std;

const int MOD = 10007;
int a[105], pos;

void add() {
	//t表示进位 
	int t = 1;
	
	//最高位上有可能进位,所以往前扩展一位 
	for (int i = pos; i >= 0; i --) {
		t += a[i];
		a[i] = t % 10;
		t /= 10;
	}
}

int main() {
	char ch;
	
	while (cin >> ch) {
		//将数字存入数组 
		if (ch != '.') {
			a[++pos] = ch - '0';
		}
		//如果是小数点,则读入下一个数字,并四舍五入;停止输入 
		else {
			cin >> ch;
			if (ch > '4') {
				add();
			}
			break;
		}
	}
	
	//计算取整后每位数字的乘积,并取模 
	int ans = 1;
	for (int i = 1; i <= pos; i ++) {
		ans = (ans * a[i]) % MOD;
	}
	
	cout << ans;
	
	return 0;
}
喜好
#include <iostream>
#include <cstdio>
using namespace std;

int main() {
	int m, n, cnt = 0;
	cin >> m >> n;
	
	int x;
	for (int i = 1; i <= n; i ++) {
		cin >> x;
		if (x < m) cnt ++;
	}
	
	cout << cnt;

	return 0;
}
回文数列
#include <iostream>
#include <cstdio>
using namespace std;

int main() {
	int k, a[30] = {0, 0};
	cin >> k;
	
	for (int i = 2; i <= k; i ++) {
		for (int j = 1; 2*j<=i; j ++) {
			a[i] = a[i] + a[i-2*j] + 1;
			
		}
	}
	
	cout << a[k];

	return 0;
}

/*
这是一道递归题,从0开始,逐一观察规律 

K:拆分数 	枚举 
0: 0,
1: 0,	
2: 1,		11
3: 1,		111
4: 3,	 	1111, 121, 22
5: 3,		11111, 131, 212
6: 7,		111111, 11211, 1221, 141, 2112, 222, 33

*/
下载前可以先看下教程 https://pan.quark.cn/s/16a53f4bd595 小天才电话手表刷机教程 — 基础篇 我们将为您简单的介绍小天才电话手表新机型的简单刷机以及玩法,如adb工具的使用,magisk的刷入等等。 我们会确保您看完此教程后能够对Android系统有一个最基本的认识,以及能够成功通过magisk root您的手表,并安装您需要的第三方软件。 ADB Android Debug Bridge,简称,在android developer的adb文档中是这么描述它的: 是一种多功能命令行工具,可让您与设备进行通信。 该命令有助于各种设备操作,例如安装和调试应用程序。 提供对 Unix shell 的访问,您可以使用它在设备上运行各种命令。 它是一个客户端-服务器程序。 这听起来有些难以理解,因为您也没有必要去理解它,如果您对本文中的任何关键名词产生疑惑或兴趣,您都可以在搜索引擎中去搜索它,当然,我们会对其进行简单的解释:是一款在命令行中运行的,用于对Android设备进行调试的工具,并拥有比一般用户以及程序更高的权限,所以,我们可以使用它对Android设备进行最基本的调试操作。 而在小天才电话手表上启用它,您只需要这么做: - 打开拨号盘; - 输入; - 点按打开adb调试选项。 其次是电脑上的Android SDK Platform-Tools的安装,此工具是 Android SDK 的组件。 它包括与 Android 平台交互的工具,主要由和构成,如果您接触过Android开发,必然会使用到它,因为它包含在Android Studio等IDE中,当然,您可以独立下载,在下方选择对应的版本即可: - Download SDK Platform...
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值