8月下旬解题报告

本文集解答了多个经典算法题目,包括求组合数、求阶乘位数、Smith数查找、中国剩余定理应用、拓展欧几里得算法、勾股数判断、质因数分解、克莱姆法则使用、欧几里得算法应用及一个三分逼近法问题。

Foj1564

求组合数C(n,m) 是否能被数 p 整除

Hdu1018

n! 的位数

Poj1142 

老早就想解决的smith 数,开始想复杂了,没想到 smith 数那么密……暴力就能过,原来还想二分 + 筛法 + 打表……好吧,罪过……

先把素数筛出来,然后将素数存在一个新的数组里,顺便计算出素数各位数字之和,之后从n+1 开始找就行了,如果查找循环到 10000000 截止的话那么就悲剧了,因为 99999999 出不来…………

Poj1006

中国剩余定理解决!这题是裸的- -orz

Poj1061

经典的拓展欧几里得

Poj1305

勾股数~

Poj1730

直接暴力吧……看到有人说质因子分解然后求质因子指数的最大公约数,我直接从2 循环到 sqrt(n) n 除以哪个数除到最后为 1 ,然后除的次数就是答案……注意负数。

Poj1914

克莱姆法则,直接模拟即可,注意超了int 和最后 -0.000 变成 0.000 的处理。

Poj2348

一个看起来好像博弈的游戏,其实考的是欧几里得算法……

如果有人遇到的情况是大数除以小数大于1 ,那么他有权选择新数为 max%min 或者 max%min+min ,这两个总有一种情况能使其最后胜利,注意这种情况在比赛过程中的任何时候都会出现!

Zoj3386

一道三分的题(三分指的是将线段三等分逼近),原理如下:

对于只有一个极值的函数,可以这样逼近

先取left right 的中点 mid ,再取 mid right 的中点 midmid ,判断 mid midmid 哪个更加接近极值,如果 mid 接近些,则令 right=midmid ,否则令 left=mid

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值