赛题链接:牛客(NC)广西大学第四届程序设计竞赛(同步赛) 点击传送
借鉴了mrgg等诸位大佬的代码
第一次写题解,希望大佬勿喷,时间有限,错误难以避免,希望各位大佬指正
A题 Antinomy与比赛的含金量(签到题)
签到题,给n个比赛,每个比赛有三个参数a,b,c如果a,b大于90,c大于60,输出A+,否则输出E+。
#include <iostream>
using namespace std;
int main()
{
int T;
scanf("%d",&T);
while(T--)
{
int a,b,c;
scanf("%d%d%d",&a,&b,&c);
printf("%s\n",(a>90&&b>90&&c>60)?"A+":"E+");
}
return 0;
}
B题 Antinomy与取模(数论)
数论入门题
两个知识点:GCD(最大公约数)、LCM(最小公倍数)
1.最大公约数GCD
整数a和b的最大公约数记为gcd(a,b)。在编程时有两种做法
(1)经典的欧几里得算法,用辗转相除法求最大公约数,模板如下:
int gcd(int a,int b){
return b==0? a:gcd(a%b);
}
时间复杂度差不多是O(log2n)的,非常快。
(2)或者直接用c++的内置函数求GCD
包含在头文件algorithm下
std::__gcd(a,b)
2.最小公倍数LCM
整数a和b的最小公倍数记为lcm(a,b),模板如下: