2015年8月21日

自然数的拆分

摘要: 题目链接 洛谷2404 【问题描述】自然数的拆分:任何一个大于1的自然数N,总可以拆分成若干个自然数之和,并且有多种拆分方法。试求 n的所有拆分。例如自然数5,可以有如下一些拆分方法:5=1+1+1+1+15=1+1+1+25=1+2+25=1+45=2+3 注意,本题中N拆分出来的数x的范围是1< 阅读全文

posted @ 2015-08-21 18:09 华山青竹 阅读(2483) 评论(0) 推荐(0) 编辑

有重复元素的排列问题

摘要: 参考:http://blog.sina.com.cn/s/blog_9b95c19e0101aqwn.htmlDescription设R={ r1, r2, ……, rn }是要进行排列的n个元素。其中元素r1 ,r2 ,……,rn可能相同。试设计一个算法,列出R的所有不同排列。给定n以及待排列的n... 阅读全文

posted @ 2015-08-21 16:04 华山青竹 阅读(3221) 评论(0) 推荐(0) 编辑

无重复元素的排列

摘要: 利用C++算法库函数实现全排列 (下面的内容是原作者整理的。) 熟悉 C++ 的朋友肯定知道另一种更简单,更完美的全排列方法。 定义于文件 <algorithm> 内的两个算法函数: next_permutation,对于当前的排列,如果在字典序中还存在下一个排列,返回真,并且把当前排列调整为下一个 阅读全文

posted @ 2015-08-21 11:35 华山青竹 阅读(808) 评论(0) 推荐(0) 编辑

质数环

摘要: 输入N,将1~N这N个整数摆成一个环,使得任意相邻两个数之和都是质数。分析:递归,回溯算法的流程:递归填数:判断第i个数填入是否合法。若是合法:填数,判断是否到达目标(填入20个数字),是则打印结果,否则递归进入下一层填写下一个数字。若是不合法:选择下一种可能进行尝试。代码如下:(不足之处在于:这里... 阅读全文

posted @ 2015-08-21 10:05 华山青竹 阅读(656) 评论(0) 推荐(0) 编辑

大整数阶乘的计算

摘要: 1 #include 2 3 #define mo 10000 4 int ans[1000001]; 5 //这里高精度整数存储格式是:ans[0]存储位数,低位在前,高位在后,每一个ans[i]存储四位整数 6 7 void mul(int *,int); 8 void print_ar... 阅读全文

posted @ 2015-08-21 09:10 华山青竹 阅读(872) 评论(0) 推荐(0) 编辑

导航