关注
第三题回文数 double fxr(double x, double r, double q) {
double sum = 0;
for(int i = 0; i <= q - 1; i++)
sum += ((ll)(floor(x / pow(2, r - i))) % 2 ) * pow(2, i);
return floor(x / pow(2, q)) * pow(2, q) + sum;
}
int main() {
double n;
cin >> n;
// cout << (2.0/9.0)*n*n << ' ' << (1.0/4.0)*(n+1.0)*(n+1.0) << endl;
double p = 1.0 + 2.0 * floor((n - 1.0) / 2.0);
double m = floor( log(p) / log(2.0) );
double q = floor( (m + 1.0) / 2.0 );
double s = floor( log(p - pow(2, q)) / log(2.0) );
double sum = 0;
double an = fxr(p, m, q);
if(an <= n) ;
else an = fxr(p - pow(2, q), s, q);
double p2 = an;
double m2 = floor(log(p2) / log(2.0));
double sum2 = 0;
for(int k = 1; k <= floor(m / 2.0); k++)
sum2 += (((ll)(floor(p2 / pow(2, k))) % 2) / pow(2, k));
double ans = ((5.0 - pow(-1.0, m2))/ 2.0 + sum2) * pow(2, floor(m / 2.0));
cout << ((ll)ans) << endl;
}
查看原帖
点赞 2
相关推荐
查看1道真题和解析 点赞 评论 收藏
分享
09-08 17:15
广东工业大学 Java 点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 秋招开始捡漏了吗 #
7989次浏览 44人参与
# 今年秋招还有金九银十吗 #
16039次浏览 122人参与
# “vivo”个offer #
45030次浏览 303人参与
# 秋招,不懂就问 #
328782次浏览 1977人参与
# 辞职后的日常 #
15220次浏览 84人参与
# 上班后,才发现大学__白学了 #
741次浏览 14人参与
# 满帮集团求职进展汇总 #
7612次浏览 71人参与
# 打工人的精神状态 #
100297次浏览 1305人参与
# 上班到公司第一件事做什么? #
98330次浏览 681人参与
# 一人一个landing小技巧 #
127049次浏览 1462人参与
# 我和mentor的爱恨情仇 #
78906次浏览 434人参与
# 学历对求职的影响 #
549722次浏览 3901人参与
# 秋招结束之后的日子 #
99593次浏览 1011人参与
# 海信求职进展汇总 #
84623次浏览 408人参与
# 学历or实习经历,哪个更重要 #
192044次浏览 1026人参与
# 实习期间如何提升留用概率? #
189368次浏览 1606人参与
# 被同事甩锅了怎么办 #
24896次浏览 100人参与
# 你见过哪些工贼行为 #
31487次浏览 151人参与
# 和mentor 1on1 都聊什么? #
3499次浏览 21人参与
# 数字马力求职进展汇总 #
210429次浏览 1665人参与
# 你想留在一线还是回老家? #
63516次浏览 537人参与
