アルゴリズム練習【1】出力区間[M,N](10≦M≦N≦1000)間のすべてのビット数の和がkの数であり、条件を満たす数を出力する個数を統計する


タイトル
出力区間[M,N](10≦M≦N≦1000)間の全てのビット数の和がkの数であり、条件を満たす数の個数を統計的に出力する.
入力フォーマット:入力は第1行に正の整数kを与え、第2行に2つの正の整数MとN(10≦M≦N≦1000)を与え、中間はスペース間隔である.
≪出力フォーマット|Output Format|oem_src≫:最初の行に条件を満たすすべての数を出力します.各数の後ろにスペースがあります.
2行目にcount=総数の形式で条件を満たす数の個数を出力します.
注意:条件を満たす数がない場合、第1の動作は空白です.
入力サンプル1:5 200 300出力サンプル1:203,212,221,230 count=4入力サンプル2:6,100,103出力サンプル2:
#include 
int main()
{
    int k = 0;
    int M = 0;
    int N = 0;
    int re = 0;
    int i = 0;
    int count = 0;
    scanf("%d", &k);
    scanf("%d%d",&M,&N);
    for (i = M; i <= N; i++)
    {
        if (i >= 10 && i < 100)
        {
            if (k == (i / 10 + i % 10))
            {
                re = 1;
                count++;
                printf("%d ",i);
            }
        }
        if (i >= 100 && i <= 1000)
        {
            if (i != 1000)
            {
                int a = i / 100;
                int b = i % 100 / 10;
                int c = i % 10;
                if (k == a + b + c)
                {
                    re = 1;
                    printf("%d ",i);
                    count++;
                }
            }            
        }
        
    }
    if (re == 0)
    {
        printf("
"); } else { printf("
count = %d", count); } return 0; }