zoukankan      html  css  js  c++  java
  • HDU 4608 I-number 2013 Multi-University Training Contest 1 1009题

    题目大意:输入一个数x,求一个对应的y,这个y满足以下条件,第一,y>x,第二,y 的各位数之和能被10整除,第三,求满足前两个条件的最小的y。

    解题报告:一个模拟题,比赛的时候确没过,感觉这题太坑了,比赛的时候对于所有的测试数据都能得出正确的结果,但是这题的数据太坑了,要求如果输入里面带了前导0,在输出时要按照原样将前导0输出来,我一直以为要把前导0去掉,所以一直没过。然后就是这题y<=x+20,由于满足这个关系,所以只要将输入的数经过多次加1,暴力,然后逐一判断是否满足条件就可以了。

     1 #include<cstdio>
     2 #include<cstring>
     3 const int MAX = 100000+5;
     4 
     5 char  str[MAX];
     6 int T,IN[MAX],sum,len;
     7 int oper() {
     8     len = strlen(str);
     9     for(int i = 0;i<len;++i) {
    10         IN[len-1-i] = str[i]-'0';
    11         sum+=IN[len-1-i];
    12     }
    13     return sum;
    14 }
    15 void jinwei() {
    16     int i = 0;
    17     bool flag = 0;
    18     while(IN[i]>9) {
    19         IN[i+1]++;
    20         IN[i]%=10;
    21         sum-=9;
    22         flag = 1;
    23         i++;
    24     }
    25     sum++;
    26 }
    27 int main() {
    28     scanf("%d",&T);
    29     while(T--) {
    30         scanf("%s",str);
    31         sum = 0;
    32         memset(IN,0,sizeof(IN));
    33         sum = oper();
    34         IN[0]++;
    35         jinwei();
    36         while(sum%10!=0) {
    37             IN[0]++;
    38             jinwei();
    39         }
    40         if(IN[len] != 0)
    41         len++;
    42         for(int i = len-1;i>=0;--i)
    43         printf("%d",IN[i]);
    44         str[0] = NULL;
    45         printf("
    ");
    46     }
    47     return 0;
    48 }
    View Code
  • 相关阅读:
    Spring中获取数据库表主键序列
    java学习:ArrayList的实现及原理
    MyBatis SQL动态装配
    Unsupported major.minor version 51.0解决方法
    spring自动装配
    c# 窗口关闭方法
    C# 自定义集合类
    C#接口的实现和继承实践
    C# 开发COM组件供c++使用
    C# 创建和引入动态链接库dll文件
  • 原文地址:https://www.cnblogs.com/xiaxiaosheng/p/3209382.html
Copyright © 2011-2022 走看看