题解 | 牛牛数数

牛牛数数

https://www.nowcoder.com/practice/03a3cc96fa4847b387bf58bb800d67cf

题干解读:给出一个数n;要求1到中所有不包含4且不是4的倍数的数,并以升序排列

解题思路:由于要以升序排列,所以可以直接从1到n遍历,选择符合条件的数取出,这样可以省去排列的步骤;

可以通过一个judege函数来判断是否含有4,在这个函数中,采用了对10取余数的方法检查每一位数子,看其是否为4.

#include <iostream>
using namespace std;
bool Judege(int n){
    while(n>=10){
        if(n%10 == 4){
            return false;
        }
        n=n/10;
    }
    if(n != 4){
        return true;
    }else{
        return false;
    }
}
int main() {
    int n;
    cin>>n;
    int a[n];
    int k=0;
    for(int i=1;i<=n;i++){
        if(i % 4 != 0 && Judege(i)){
            a[k++]=i;
        }
    }
    for(int i=0;i<k;i++){
        cout<<a[i]<<endl;
    }
}

全部评论

相关推荐

哞客37422655...:你猜为什么福利这么好还得一直追着你问
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
01-22 18:07
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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