编程大题最后一定要写 return 0;否则0分呀。
万能头文件: #include
但也可能编译时间过长不通过吧,酌情使用吧,平时尽量不要吧。
常用头文件:
保持小数点后n位输出:
包含在头文件
cout< 头文件 string a; 字符个数:a.size();下标0到a.size()-1 ①【问题描述】 对于一个 n个顶点的凸多边形,它的任何三条对角线都不会交于一点。请求出图形中对角线交点的个数。例如: 例如,6 边形:15个交点;输入3:输出:0 输入只有一行一个整数 n,代表边数。 输出一行一个整数代表答案。 数据规模与约定 对于 50% 的数据,保证 3≤n≤100。对于 100% 的数据,保证 10^53≤n≤105。
分析: 任何三条对角线都不会交于一点-->任意一个交点只有两条对角线(四个顶点)即四个顶点确定一个交点-->问题转化为从n个顶点中取四个= n * (n-1) * (n-2) * (n-3) / 24; 考虑到分子可能很大内存不够-->采用一种化简的技巧 于是原式可以化为:n * (n-1) / 2 * (n-2) / 3 * (n-3) / 4 由于n和n-1中有一个必然是2的倍数,3,4同理,因此不会出现除不尽的情况。 代码实现: yyy 的学校要求早上 8 点前到达。学校到 yyy 的家一共有 s(sle 10000)s(s≤10000) 米,而 yyy 可以以 v(v<10000)v(v<10000) 米每分钟的速度匀速走到学校。此外在上学路上它还要额外花 10 分钟时间进行垃圾分类。请问为了避免迟到 yyy 最晚什么时候出门?输出 HH:MM 的时间格式,不足两位时补零。由于路途遥远, yyy 可能不得不提前一天出发,不过不可能提前超过一天。 两个正整数 s,v,意思已经在题目中给定。 hh:mm 表示最晚离开家的时间(时:分,必须输出两位,不足两位前面补0) 输入 :100 99 输出: 07:48 注意事项: 1. 虽然题目中说s与v是整数,但如果s/v除不尽时,需要向上取整,否则会迟到,为了向上取整函数结果正确需将s,v变量设为小数类型; 2. 由于s与v中的时间单位为分,所以我们直接将8点(小时)换算成分钟8*60; 3. 由于题目说可能提前一天出发,所以把该时间减去行走时间和垃圾分类后,需要判断剩下的时间是否大于0,大于0则说明没有提前,则可以格式化输出;若小于0,需要加上24*60min后在格式化输出; 4. 格式化输出:时:时间/60;分钟:时间%60;都需判断是否超过10。 代码实现: 欢迎分享,转载请注明来源:内存溢出#include
#include
评论列表(0条)