Codeforces 876 C Classroom Watch 基础数学,暴力

来源:互联网 发布:婚纱照相册制作软件 编辑:程序博客网 时间:2024/05/16 08:37

题意

给出n(1e9),输出满足x与x各十进制位的和==n的x个数,和所有x.

解法

n最多10位,每位最多为9,最大情况只需要从n-90到n遍历即可.

注意

记得遍历起点最小为0

代码

/* LittleFall : Hello! */#include <bits/stdc++.h>using namespace std;int ans[200],nans;int main(void){    int n;    scanf("%d",&n);    for(int num=max(n-90,0);num<=n;num++)    {        int tmpnum=num,sumnum=num;        while(tmpnum)        {            sumnum+=tmpnum%10;            tmpnum/=10;        }        if(sumnum==n)            ans[nans++]=num;    }    printf("%d\n",nans );    for(int i=0;i<nans;i++)    {        printf("%d%c",ans[i],i<nans-1?' ':'\n' );    }    return 0;}
阅读全文
0 0