题解 | 牛牛数数
牛牛数数
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;
}
}
查看9道真题和解析