题解 | #小乐乐改数字#

小乐乐改数字

http://www.nowcoder.com/practice/fcd30aac9c4f4028b23919a0c649824d

#include <stdio.h>
//神头鬼脸的这个代码就通过了...
int main()
{
    int n = 0;
    scanf("%d",&n);
    int x = 1,y=0;        // x 用来控制当前位于哪一位
    while(x<n)        
    {
        y+=(n/x%2)*x;        // x 从1开始,等于从个位开始往上依次摩2,得到奇偶性之后再乘 x 即当前这个位数的0或者1      比如 1+10+100 一直加到加不了
        x*=10;
    }printf("%d",y);
    return 0;
}


全部评论
输入100、1000这些结果是错的,我想while的条件改成x<=n会不会好点。
4 回复 分享
发布于 2022-06-05 22:21
简单易懂的代码 好聪明!
点赞 回复 分享
发布于 2022-12-13 14:46 福建
牛哇!大佬思路清奇啊!不过y+=(n/x%2)*x这个式子是怎么来的啊?意思明白了,但是这个式子属实看不明白。。。
点赞 回复 分享
发布于 2022-08-17 10:20 内蒙古

相关推荐

程序员牛肉:主要是因为小厂的资金本来就很吃紧,所以更喜欢有实习经历的同学。来了就能上手。 而大厂因为钱多,实习生一天三四百的就不算事。所以愿意培养你,在面试的时候也就不在乎你有没有实习(除非是同级别大厂的实习。) 按照你的简历来看,同质化太严重了。项目也很烂大街。 要么换项目,要么考研。 你现在选择工作的话,前景不是很好了。
点赞 评论 收藏
分享
CARLJOSEPH...:宝宝你戾气太大了
点赞 评论 收藏
分享
评论
17
1
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务