摘要: 由于题目的数据范围为[0, 168],因此给定的整数x在十三进制下一定可以表示为$x=a13^1+b130$(因为$168<132$),于是只要想办法求出a跟b即可。 对上面的等式两边同时整除13,可以得到$\lfloor x/13 \rfloor =a$;对上面的等式两边同时对13取模,可以得到$ 阅读全文
posted @ 2021-02-12 23:08 Dazzling! 阅读(28) 评论(0) 推荐(0) 编辑
摘要: 水题,跟求两个时间的差类似。 ··· struct Node { int galleon,sickle,knut; }a,b; int main() { scanf("%d.%d.%d",&a.galleon,&a.sickle,&a.knut); scanf("%d.%d.%d",&b.galle 阅读全文
posted @ 2021-02-12 22:52 Dazzling! 阅读(37) 评论(0) 推荐(0) 编辑
摘要: 额,反正是水题就对了。 先确定层数 分别输出上半部和下半部 计算剩下的数目,简单的等差数列运算。 int n; char c; int main() { cin>>n>>c; int s=(n+1)/2; int dep=0; for(int i=1;;i++) { s-=2*i-1; if(s < 阅读全文
posted @ 2021-02-12 21:39 Dazzling! 阅读(37) 评论(0) 推荐(0) 编辑
摘要: 哥德巴赫猜想,注意不要重复统计分解得到的素数对,即$(3,7)\(和\)(7,3)$视为同一对。 const int N=35010; int primes[N],cnt; bool vis[N]; int n; void init(int n) { for(int i=2;i<=n;i++) if 阅读全文
posted @ 2021-02-12 20:34 Dazzling! 阅读(41) 评论(0) 推荐(0) 编辑
摘要: 考虑到不知道第$104$个素数有多大,可以先用程序测试下第$104$个素数是多少。 const int N=2e5+10; int primes[N],cnt; bool vis[N]; void init(int n) { for(int i=2;i<=n;i++) if(!vis[i]) { p 阅读全文
posted @ 2021-02-12 19:34 Dazzling! 阅读(48) 评论(0) 推荐(0) 编辑
摘要: 素数又称为质数,是指除了1和本身之外,不能被其他数整除的一类数。 即对给定的正整数n,如果对任意的正整数a(1<a<n),都有n%a!=0成立,那么称n是素数;否则,如果存在a(1<a<n),使得n%a=0,那么称n为合数。 应特别注意的是,1既不是素数,也不是合数。 本节将解决两个问题: 如何判断 阅读全文
posted @ 2021-02-12 18:34 Dazzling! 阅读(25) 评论(0) 推荐(0) 编辑
摘要: 所谓分数的四则运算是指,给定两个分数的分子和分母,求它们加减乘除的结果。下面先介绍如何表示和化简一个分数。 分数的表示 对一个分数来说,最简洁的写法就是写成假分数的形式,即无论分子比分母大或者小,都保留其原数。因此可以使用一个结构体来存储这种只有分子和分母的分数: struct Fraction { 阅读全文
posted @ 2021-02-12 16:23 Dazzling! 阅读(70) 评论(0) 推荐(0) 编辑
摘要: 做了几个同类型题后,这种题基本是套路题了吧。 男生最低分数获得者的分数初始化为101、女生最高分数获得者的分数初始化为-1。 在读入学生信息时,根据其性别来判断: 如果是男生,且分数低于当前变量M所记录的分数,则用他的信息覆盖M。 如果是女生,且分数高于当前变量F所记录的分数,则用她的信息覆盖F。 阅读全文
posted @ 2021-02-12 15:25 Dazzling! 阅读(50) 评论(0) 推荐(0) 编辑
摘要: ####最大公约数 正整数a与b的最大公约数是指a与b的所有公约数中最大的那个公约数,例如4和6的最大公约数为2,3和9的最大公约数为3。一般用gcd(a, b)来表示a和b的最大公约数,而求解最大公约数常用欧几里得算法(即辗转相除法)。 欧几里得算法基于下面这个定理: 设a、b均为正整数,则gcd 阅读全文
posted @ 2021-02-12 13:57 Dazzling! 阅读(48) 评论(0) 推荐(0) 编辑
摘要: 在读入日期时判断该日期是否在合法日期的区间内,如果在,就使其更新最年长的人的出生日期和最年轻的人的出生日期。由于判断日期是否在合法日期区间 内、更新最年长和最年轻的信息都将涉及日期的比较操作,因此不妨写两个比较函数用来比较a与b的日期。 ps:有可能存在所有人的日期都不在合法区间内的情况,这时必须特 阅读全文
posted @ 2021-02-12 13:48 Dazzling! 阅读(50) 评论(0) 推荐(0) 编辑
摘要: 水题~。 值得一提的是没有显式给出$n$的范围,所以要求空间复杂度$O(1)$咯。 struct Node { string name; string id; int grade; }cur,maxv,minv; int n; int main() { cin>>n; maxv.grade=-1,m 阅读全文
posted @ 2021-02-12 12:38 Dazzling! 阅读(42) 评论(0) 推荐(0) 编辑
摘要: 水题~。 const int N=1010; struct Node { string id; int try_id; int test_id; }a[N]; map<int,Node> mp; int n,m; int main() { cin>>n; for(int i=0;i<n;i++) { 阅读全文
posted @ 2021-02-12 12:32 Dazzling! 阅读(24) 评论(0) 推荐(0) 编辑
摘要: 求多个数的lcm,水题~ int n; int gcd(int a,int b) { return b?gcd(b,a%b):a; } int lcm(int a,int b) { return a/gcd(a,b)*b; } int main() { int T; cin>>T; while(T- 阅读全文
posted @ 2021-02-12 12:21 Dazzling! 阅读(29) 评论(0) 推荐(0) 编辑
摘要: 如果求导之后没有任何非零项,需要输出0 0。 int main() { string line; getline(cin,line); stringstream ss(line); int a,b; bool first=true; while(ss>>a>>b) { a*=b; b--; if(b 阅读全文
posted @ 2021-02-12 11:26 Dazzling! 阅读(35) 评论(0) 推荐(0) 编辑