C++9018:1812——长方形
2021-06-04 15:05
阅读:437
【样例解释】
样例2只能做边长为1和9,2和8,3和7,4和6的四种长方形。
【数据范围】
对于100%的数据,018
作者分析:这是一道关于数论的题目,我们来分析一下:首先,若n为奇数,则不能组成长方形;长方形由长和宽组成,周长 = 2 *(长 + 宽),把n除以2,商为长和宽的和,若商为偶数,则可以组成正方形(为什么呢?),奇数就不能组成正方形,下面我们来枚举一下情况:
n = 10;1,4;2,3;n / 2 = 5,奇数。
n = 12;1,5;2,4;n / 2 = 6,偶数。
总结出来,n / 2如果是奇数,答案是n / 2;n / 2如果是偶数,答案是n / 2 - 1;
#includeusing namespace std; int main(){ unsigned long long n,ans; cin >> n; if (n 4 || n % 2 == 1){ cout "0"; return 0; } n /= 2; if (n % 2 == 0) ans = n / 2 - 1; else ans = n / 2; printf("%lld",ans); }
上一篇:一个C++Timer
下一篇:JAVA基础环境配置
评论
亲,登录后才可以留言!