数论
BIG_GENERAL_DD
好好学习,天天向上.
展开
-
康托展开公式
康托展开: X=an*(n-1)!+an-1*(n-2)!+...+ai*(i-1)!+...+a2*1!+a1*0! ai为整数,并且0 应用实例: {1,2,3,4,...,n}的排列总共有n!种,将它们从小到大排序,怎样知道其中一种排列是有序序列中的第几个? 如 {1,2,3} 按从小到大排列一共6个:123 132 213 231 312 321。想转载 2017-03-29 21:50:10 · 1098 阅读 · 0 评论 -
买不到的数目
历届试题 买不到的数目 时间限制:1.0s 内存限制:256.0MB 问题描述 小明开了一家糖果店。他别出心裁:把水果糖包成4颗一包和7颗一包的两种。糖果不能拆包卖。 小朋友来买糖的时候,他就用这两种包装来组合。当然有些糖果数目是无法组合出来的,比如要买 10 颗糖。 你可以用计算机测试一下,在这种包装情况下,最大不能买到的数量是17。大于17转载 2017-03-25 14:12:21 · 653 阅读 · 1 评论 -
数字游戏
问题描述 栋栋正在和同学们玩一个数字游戏。 游戏的规则是这样的:栋栋和同学们一共n个人围坐在一圈。栋栋首先说出数字1。接下来,坐在栋栋左手边的同学要说下一个数字2。再下面的一个同学要从上一个同学说的数字往下数两个数说出来,也就是说4。下一个同学要往下数三个数,说7。依次类推。 为了使数字不至于太大,栋栋和同学们约定,当在心中数到 k-1 时,下一个数字从0开始数。例如转载 2017-03-25 14:20:05 · 340 阅读 · 0 评论 -
使用筛选法得出1~n之间素数
//使用筛选法得出1~n之间素数 思路:使用1~n的数组prime来指示1到n的数是否为素数。如果prime[i]为0,则为素数。 (1)从2开始,将2*2到n之间的2的倍数删除 (2)从剩下的数据集合中找到最小的素数3,将3*2到n之间3的倍数删除 (3)从剩下的数据集合中找到最小的素数x,将x*2到n之间x的倍数删除 (4)重复(3)步骤直到剩下的数集合为空时,算法结束原创 2017-04-15 09:57:06 · 2040 阅读 · 0 评论 -
ADV-69算法提高-质因数
算法提高 质因数 将一个正整数N(1 样例输入 66 样例输出 66=2*3*11 //自己根据 《分解质因数》博客学习的代码 #include using namespace std; int main() { int n; cin >> n; cout<<n<<"="; for(int i=2;i<=n;i++) { while(n!=i) { if(原创 2017-04-06 19:50:37 · 1008 阅读 · 0 评论 -
ADV-74-算法提高-计算整数因子
算法提高 计算整数因子 问题描述 输入一个整数,输出其所有质因子。 输入格式 输入只有一行,包含一个整数n。 输出格式 输出一行,包含若干个整数,为n的所有质因子,按照从小到大的顺序排列。 样例输入 6 样例输出 2 3 数据规模和约定 1 #include using namespace std; int main() { int原创 2017-04-06 20:04:47 · 443 阅读 · 0 评论 -
ADV-92-算法提高-求最大公约数.
算法提高 求最大公约数 编写一函数gcd,求两个正整数的最大公约数。 样例输入: 5 15 样例输出: 5 样例输入: 7 2 样例输出: 1 思路:求出最小公倍数,然后用两个数之乘积去除以最小公倍数即 最大公约数 #include #include using namespace std; int main() { int a,b,c;原创 2017-04-06 21:18:01 · 498 阅读 · 0 评论