复仇者联盟之关灯

来源:互联网 发布:信用卡网络支付限额 编辑:程序博客网 时间:2024/04/26 12:05

Description

输入n(1~500)盏灯并编号,输入1~9(包含1和9)的数字m,灭掉编号中带m的数及m倍数的灯,最后输出亮出的灯的编号。

Input

灯数n,数字m

Output

剩下的亮的灯的编号(每个编号占一行)

Sample Input

30 3

Sample Output

10 
11 
14 
16 
17 
19 
20 
22 
25 
26 
28
29 


/
错误代码(oj平台提交会AC):
  1. #include<stdio.h>
  2. #include <stdlib.h>
  3.   
  4. int main()
  5. {
  6.    int i=1,f,a,n,m;
  7.    scanf("%d%d",&n,&m);
  8.    for(i=1;i<n;i++)
  9.    {
  10.       a=0;
  11.       f=i;
  12.       while(f>0)
  13.       {
  14.           if(f%10==m)
  15.           {
  16.              a=1;
  17.              break;
  18.           }
  19.           f/=10;
  20.       }
  21.       if(i%m==0) a=1;
  22.       if(a==0) printf("%d\n",i);
  23.    }
  24.    return0;
正确代码(OJ平台提交会显示答案错误):
  1. #include<stdio.h>
  2. #include <stdlib.h>
  3.   
  4. int main()
  5. {
  6.    int i=1,f,a,n,m;
  7.    scanf("%d%d",&n,&m);
  8.    for(i=1;i<=n;i++)
  9.    {
  10.       a=0;
  11.       f=i;
  12.       while(f>0)
  13.       {
  14.           if(f%10==m)
  15.           {
  16.              a=1;
  17.              break;
  18.           }
  19.           f/=10;
  20.       }
  21.       if(i%m==0) a=1;
  22.       if(a==0) printf("%d\n",i);
  23.    }
  24.    return0;

0 0