2013年8月14日

zoj 3621 Factorial Problem in Base K

摘要: 题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=4745解题思路:首先将 k 进制表示的 s 转成十进制的 n, 然后在十进制下求最大的 t, 使得 kt整除 n! 且 kt+1不整除 n! .先求k的标准分解式为 k=p1a1p2a2···pmam, 由于2≤k≤62 , 故 k 最多可能有 2, 3, 5, 7 共 4 个素因子。再由 n! 中素数 p 的指数为 [n/p]+[n/p2]+...+[n/pk], 其中pk≤n 7 #include 8 #include 9 #inc 阅读全文

posted @ 2013-08-14 20:24 SCNU20102200088 阅读(223) 评论(0) 推荐(0) 编辑

poj 2992 Divisors

摘要: 题目链接:http://poj.org/problem?id=2992解题思路:不妨设C(n,k) 的标准分解式为 C(n,k)=p1a1p2a2···ptat..①n! 中素数 p 的指数为 np(n,p)=[n/p]+[n/p2]+...+[n/pk], 其中pk≤n 7 #include 8 #include 9 #include 10 #include 11 #include 12 #include 13 #include 14 #include 15 #include 16 #include 17 #include 18 #include 19 #inc 阅读全文

posted @ 2013-08-14 19:32 SCNU20102200088 阅读(159) 评论(0) 推荐(0) 编辑

hdoj 1005 Number Sequence

摘要: 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1005解题思路:显然,直接迭代会 TLE , 由于结果 mod7 ,故 f(i),f(i+1) 的状态 (f(i),f(i+1)) 最多只有 7×7=49 种,可先求循环节长度,减少不必要的计算。注意:循环节不一定从 (1,1) 开始。 1 /////////////////////////////////////////////////////////////////////////// 2 //problem_id: hdoj 1005 3 //user_id: SCNU2010220 阅读全文

posted @ 2013-08-14 13:32 SCNU20102200088 阅读(141) 评论(0) 推荐(0) 编辑

2013年7月31日

巴什博奕(Bash Game)

摘要: 一堆物品共 n 个,两人轮流从中取物,规定每次至少取一个,最多取m个。最后取光者得胜。设 n=(m+1)q+r ( 0≤r≤m )①若 r=0, 后取者必胜,策略如下:若先取者拿走 k 个,则后取者拿走 m+1-k 个,结果剩下 (m+1)(q-1) 个,保持这种取法,则后取者必胜。②若 r≠0, 先取者必胜,策略如下:先取者先拿走 r 个,若后取者拿走 k 个,则先取者拿走 m+1-k 个,结果剩下 (m+1)(q-1) 个,保持这种取法,则先取者必胜。扩展:若规定最后取光者输,设 n-1=(m+1)q+r ( 0≤r≤m )①若 r=0, 后取者必胜,策略如下:若先取者拿走 k 个,则后取 阅读全文

posted @ 2013-07-31 10:41 SCNU20102200088 阅读(234) 评论(0) 推荐(0) 编辑

2013年7月20日

STL——stack

摘要: ① 声明 stackstack s;② stack 的成员函数s.push(x); 将 x 压栈,无返回值s.pop(); 退栈,无返回值s.top(); 取栈顶元素,返回栈顶元素s.empty(); 判断栈是否为空,如果是,返回 1,否则返回 0s.size(); 返回栈中元素的个数③ stack 没有提供清空操作的函数,但可间接实现while(!s.empty()) s.pop(); 1 //使用 stack 实现十进制向八进制的转换 2 #include 3 #include 4 using namespace std; 5 6 int main(){ 7 int n; 8 ... 阅读全文

posted @ 2013-07-20 15:56 SCNU20102200088 阅读(221) 评论(0) 推荐(0) 编辑

导航