第一题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

相关推荐

看起来名字可以很长:笑死 我暑期实习阿里云的意向也被 qq 邮箱放在垃圾箱了
点赞 评论 收藏
分享
牛客网
牛客网在线编程
牛客网题解
牛客企业服务