程序地带

【入门1】顺序结构 P2181 对角线 数学结论+过程溢出,结果不溢出的处理


【入门1】顺序结构 P2181 对角线


【入门1】顺序结构




思路(这个思路不是自己想出来的,是查了数学的相关资料才得出的,凭空推导C(n,4)是做不到的)如下:


每一个四边形中,都有一个交点。


从顶点中,任选4个点,组成四边形。


对正五边形,C(5,4)=5



正六边形C(6,4)=C(6,2)=6*5/2*1=15


n=10^5,C(10^5,4)=10^5*(10^5-1)*(10^5-2)*(10^5-3)/(4*3*2*1)=4*10^18


2^63-1=9.0*10^18


计算过程中long long要溢出,但计算结果会溢出。


随机试试9*8*7*6,8*7*6*5,7*6*5*4,6*5*4*3,5*4*3*2,4*3*2*1


可以看到,一定有一个数可以整除3,一定有一个数可以整除4,一定有一个数可以整除2.


AC代码如下:


#include <bits/stdc++.h>
#define LL long long
LL a[5];
int main(){
LL n,ans=1;
int i;
scanf("%lld",&n);
for(i=0;i<4;i++)a[i]=n-i;
for(i=0;i<4;i++)
if(a[i]%3==0){a[i]/=3;break;}
for(i=0;i<4;i++)
if(a[i]%4==0){a[i]/=4;break;}
for(i=0;i<4;i++)
if(a[i]%2==0){a[i]/=2;break;}
for(i=0;i<4;i++)ans*=a[i];
printf("%lld ",ans);
return 0;
}

 


 


 


 


 


版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/mrcrack/article/details/111246110

随机推荐

网络协议 3 - 物理层 和 MAC 层

网络协议 3 - 物理层 和 MAC 层

在上一篇博文中,我们见证了IP地址的诞生,机器一旦有了IP,就可以在网络的环境里和其他的机器展开沟通了。    今天,我们来认识下物理层和MAC层。    日常生活中,身为90后的我们,如果不是通信相...

cool2feel 阅读(630)

java反编译工具_移动app安全测试 - 客户端 - 反编译保护

java反编译工具_移动app安全测试 - 客户端 - 反编译保护

测试小白一枚,最近刚刚开始接触移动App的安全性测试。结合项目的情况和自己一点粗陋的经验,计划从客户端安全、网络传输安全和服务端安全三个方面进行学习和探索。1、前言APP客...

weixin_39943586 阅读(995)

网络协议 2 - IP 地址和 MAC 地址

网络协议 2 - IP 地址和 MAC 地址

了解完网络协议,我们会发现,网络通信的五层模型里,有两个很重要的概念:IP地址和MAC地址。那么IP地址是怎么来的,又是怎么没的?MAC地址与IP地址又有什么区别?这回答上面问题前,先热下身,大家知道...

cool2feel 阅读(523)

设计模式笔记(一):Singleton 设计模式

今天开始学习设计模式,借此机会学习并整理学习笔记。设计模式是一门不区分语言的课程,什么样的编程语言都可以用到设计模式。如果说java语法规则比作武功招式的话,那么设计模式就是心法。设计模式共有23种,...

江流石不转 阅读(732)

RabbitMQ的第一次亲密接触

RabbitMQ的第一次亲密接触

企业应用系统,如果系统之间的通信、集成与整合,尤其当面临异构系统时,那么需要分布式的调用与通信。系统中一般会有很多对实时性要求不高但零零碎碎且耗时的地方,比如发送短信,邮件提醒,记录用户操作日志等,在...

有翅膀的大象 阅读(557)