第一题a了,第二题不会。 public static long find(int n) { long ans = 0, num = 1, i = 2; while (i <= n) { if (i * 2 <= n) { ans += (i * num++); i *= 2; } else { ans += ((n - i + 1) * num); break; } } return ans + n; }
1 2

相关推荐

递归到脑子变傻:杭州还有上位机用VB的,实在没绷住
点赞 评论 收藏
分享
牛客网
牛客网在线编程
牛客网题解
牛客企业服务