题解 | #牛牛的二三七整除#

牛牛的二三七整除

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

  本题我的想法是设个数组,但是先不把2、3、7存进去,数组初始全为0,然后进行判断,哪个数能被n整除,我们再把它存入数组

  存完后遍历一下,只要数组元素不为0,就打印出来,由于之前就是升序判断,那么此处也是升序打印。

  最后需要上个保险,如果n不能被任何数整除的话,说明没有任何数存入数组,则数组第一个元素必然为0。此时我们加个判断,顺理成章打印“n”。

int main()
{
    int n, i=0;
    scanf("%d", &n);
    int can[3]={0};
    while(1)
    {
        if(!(n%2))
            can[i++] = 2;
        if(!(n%3))
            can[i++] = 3;
        if(!(n%7))
            can[i++] = 7;
        break;
    }
    for(i=0;i<3;i++)
    {
        if(can[i])
            printf("%d ", can[i]);
    }
    if(!can[0])
        printf("n");
    return 0;
}

  PS:有一点补充,关于我为什么要写个 while(1) 上去,因为这样可以使我的每一步都处在一个大的块里,方便阅读。

全部评论

相关推荐

02-28 01:18
已编辑
南昌大学 后端工程师
黑皮白袜臭脚体育生:把开源经历放个人项目上边应该更好,就像大部分人都把实习经历放个人项目上边
点赞 评论 收藏
分享
03-04 07:14
门头沟学院 C++
黑皮白袜臭脚体育生:老板:都给工作机会了还想要工资,哪来这么多好事
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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