开发者社区> 问答> 正文

遇到一个奇偶数问题,求解答

Tom 想从 n 个数 (1<=n<=1e14) 中把“好朋友”挑出来,“好朋友”的定义是相加等于 k(1<=k<=1e14),其中 (1,2) 和 (2,1) 算一对,请你帮 Tom 计算一下 1-n中一共有多少对好朋友?输入数字总数 n 和“好朋友”数的和 k;输出 1-n 中的好朋友有多少对。

展开
收起
游客4skzfvnrxrzbi 2021-12-23 17:07:06 492 0
1 条回答
写回答
取消 提交回答
  • 根据题意可以得出,在不考虑数字范围的情况下,相加等于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

    2021-12-23 18:54:37
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载