Tom 想从 n 个数 (1<=n<=1e14) 中把“好朋友”挑出来,“好朋友”的定义是相加等于 k(1<=k<=1e14),其中 (1,2) 和 (2,1) 算一对,请你帮 Tom 计算一下 1-n中一共有多少对好朋友?输入数字总数 n 和“好朋友”数的和 k;输出 1-n 中的好朋友有多少对。
根据题意可以得出,在不考虑数字范围的情况下,相加等于k的数总共有k/2对(如果k 为偶数,应为k/2-1对,此处以 k/2 为例)。也就是说,如果n的值大于 k的值,那么k的所有数对都符合条件,即1-n中一共有k/2对好朋友。如果 n的值小于等于k,那么k的有些数对会超出n的范围,需要舍弃。根据n的范围限制,可以计算得出,需要舍弃掉的对数为(k-n-1), 即此时一共有k/2 -(k-n-1)对好朋友,若计算出此数为负值,即好朋友的对数为 0。 因此输入:3 5 输出:1
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。