Maximum splitting(规律,数论)】的更多相关文章

地址: 题目: C. Maximum splitting time limit per test 2 seconds memory limit per test 256 megabytes input standard input output standard output You are given several queries. In the i-th query you are given a single positive integer ni. You are to represe…
C. Maximum splitting time limit per test 2 seconds memory limit per test 256 megabytes input standard input output standard output You are given several queries. In the i-th query you are given a single positive integer ni. You are to represent ni as…
Maximum splitting You are given several queries. In the i-th query you are given a single positive integer ni. You are to represent ni as a sum of maximum possible number of composite summands and print this maximum number, or print -1, if there are…
You are given several queries. In the i-th query you are given a single positive integer ni. You are to represent ni as a sum of maximum possible number of composite summands and print this maximum number, or print -1, if there are no such splittings…
<题目链接> 题目大意: 给定数字n,让你将其分成合数相加的形式,问你最多能够将其分成几个合数相加. 解题分析: 因为要将其分成合数相加的个数最多,所以自然是尽可能地将其分成尽可能小的合数相加的形式.通过找规律,我们能够发现,所有的偶数都能够分成4和6这两个合数的组合,而所有的奇数,在减去9这个最小的奇合数后,就会变成偶数,然后就是和普通偶数一样的处理方式. 普通偶数的处理方式就是,看他能够分成几个4,如果该偶数不为4的倍数,那么就是将其中的一个4换成6.总的最大合数个数为:$n/4$ 而奇数…
Problem 1 [题目大意] 给出 多组数据 ,给出  求出 . 题解 证明:  除了 以为均为偶数, 所以互质的个数成对. 由 得 . 所以对于每对的和为 , 共有 对 . 则 Problem 2 [题目大意] 在第一个圆上写入  ,在第二个圆上写入 ,此后每一次在前一个圆的基础上,每两个数之间写上他们的和,定义 为第i个圆中数字i的个数. 给出 ,求 . 题解 证明: 则 ,圆中的数字相邻两两互质. 对于一个数字 只可能由与他互质的两个数 相加而成并且每一种构造方法是唯一的. 所以 .…
题目链接:http://codeforces.com/contest/872/problem/C 题意: 给你一个数n,问你最多能将n分解成多少个合数之和.(若不能分解,输出-1) 题解: 若要让合数个数最多,则n必定只由4,6,9组成. n由n/4和n%4两部分组成. 四种情况: (1)n%4 == 0: 全分成4就好了,所以ans = n/4 (2)n%4 == 1: 剩下的1要和两个4组合成一个9. 所以如果n/4 >= 2,ans = n/4 - 1 否则ans = -1 (3)n%4…
题意:给定n,求x,y,z三个整数,使得x|n,y|n,z|n,且xyz最小 n<=1e6 思路: 不定方程1/x+1/y+1/z=1 只有(2,3,6)(2,4,4) (3,3,3)三组正整数解 设x<=y<=z,x=2或3 x=2时1/y+1/z=1/2,y=3或4时存在z x=3时1/y+1/z=2/3,y=3时存在z 只有这三种情况 #include<cstdio> #include<cstdlib> #include<algorithm> #…
[链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 肯定用尽量多的4最好. 然后对4取模的结果 为0,1,2,3分类讨论即可 [代码] #include <bits/stdc++.h> using namespace std; int fix(int x) { int t = x/4; int rest = x%4; if (rest==0) return t; if (rest==1) { if (t>=2) { t-=2; }else return -1; t++;…
题目链接:https://codeforces.com/contest/1370/problem/A 题意 有 $n$ 个数大小分别为 $1$ 到 $n$,找出两个数间最大的 $gcd$ . 题解 若一个 $gcd$ 存在,则至少要有 $gcd$ 本身和 $2 \times gcd$,那么 $gcd$ 最大即为 $\lfloor \frac{n}{2} \rfloor$ . 代码 #include <bits/stdc++.h> using namespace std; void solve(…