OJ题——犯“m”的灯

来源:互联网 发布:mallat小波分解算法 编辑:程序博客网 时间:2024/04/30 07:15

/*
 * Copyright (c) 2014, 烟台大学计算机学院
 * All rights reserved.
 * 文件名称:test.cpp
 * 作    者:李晓凯
 * 完成日期:2014年 12 月 26 日
 * 版 本 号:v1.0
 *
 * 问题描述:一个数组中遇到“m”或“m”的倍数的数则不输出

 * 输入描述:输入一个数组元素数和m
 * 程序输出:输出剩余的数

 */

(1)普通方法:

#include <iostream>using namespace std;int main(){    int a[500];    int i,n,m;    cin>>n>>m;    for(i=0;i<n;i++)        a[i]=i+1;    for(i=0;i<n;i++)    {        if(a[i]%m!=0&&a[i]%10!=m&&a[i]/10!=m&&a[i]/100!=m)            cout<<a[i]<<endl;    }    return 0;}

(2)调用函数法:

#include <iostream>using namespace std;bool nohave3(int,int);int main(){    int a[500];    int i,n,m;    cin>>n>>m;    for(i=0; i<n; i++)    {        a[i]=i+1;    }    for(i=0; i<n; i++)    {        if(a[i]%m!=0&&nohave3(i+1,m))            cout<<a[i]<<endl;    }    return 0;}bool nohave3(int i,int m){    int a;    bool flag;    flag=true;    do    {        a=i%10;        i/=10;        if(a==m)        {            flag=false;            break;        }    }    while(i!=0);    return flag;}




0 0
原创粉丝点击