ZCMU-1016: 组合
来源:互联网 发布:工行软件开发薪酬 编辑:程序博客网 时间:2024/06/15 20:53
这道题纠结了好久,因为一直用以前的数学知识来做,提交了9次都是Wrong Answer,后面看了一篇博客解决了困惑。
重点是:把原先的数学公式进行变形,避免每次都要先算出一个数的阶乘,而是通过每次运算出一个小的数字,然后循环乘算出最后的结果。
变形如下:
下面是源代码:
#include <stdio.h>int main(void){long long n,m;scanf("%lld%lld",&n,&m);while(n!=0){if(m>n/2)m=n-m;long long sum=1;if(m==0)printf("1\n");else{long long i;for(i=1;i<=m;i++)sum=(sum*(n-m+i))/i;printf("%lld\n",sum);}scanf("%lld%lld",&n,&m);}return 0;}
这道题给我的启发是要更加去理解计算机思维,提高计算效率,一个转换,就能带来速度的提升。
阅读全文
0 0
- ZCMU-1016: 组合
- ZCMU-1549-组合数
- zcmu-1657
- zcmu-1685
- ZCMU----1776
- ZCMU----1777
- ZCMU----1778
- ZCMU----1779
- ZCMU-1731
- ZCMU-1658
- ZCMU-1654
- ZCMU-1132
- ZCMU-1037
- ZCMU-1415
- ZCMU-1036
- ZCMU-1723
- ZCMU-1608
- ZCMU-1478
- 华为云桌面每台服务器应发布虚拟机台数计算
- 在C语言中什么是定义?什么是声明?它们有何区别?
- HDU-1024-Max Sum Plus Plus
- 通过nginx实现windows系统下本地目录的映射
- 利用HttpSessionListener监听器实现用户数据存储
- ZCMU-1016: 组合
- CentOS 7静默(无图形化界面)安装Oracle 11g
- 计算机端口讲解
- Android字体使用
- 智能化的Conversational UI是移动发展的一个趋势
- new类加载spring托管的bean
- 微信小程序中使用Promise进行异步流程处理
- 类型转换函数实现提取出数字字符变数字
- 判断用户对某个磁盘文件的读写权限