• Codeforces Round #570 (Div. 3 )A


    A. Nearest Interesting Number

    题目链接:http://codeforces.com/contest/1183/problem/A

    题目:

    Polycarp knows that if the sum of the digits of a number is divisible by 3, then the number itself is divisible by 3. He assumes that the numbers, the sum of the digits of which is divisible by 4, are also somewhat interesting. Thus, he considers a positive integer n interesting if its sum of digits is divisible by 4.

    Help Polycarp find the nearest larger or equal interesting number for the given number a. That is, find the interesting number n such that n≥a and nis minimal.
    Input

    The only line in the input contains an integer a(1≤a≤1000).
    Output

    Print the nearest greater or equal interesting number for the given number a. In other words, print the interesting number n such that n≥a and n is minimal.
    Examples
    Input
    432
    Output
    435

    Input
    99

    Output
    103
    Input
    237
    Output
    237
    Input
    42
    Output
    44
    题意:
    Polycarp知道如果一个数字的数字之和可以被3整除,那么数字本身就可以被3整除。他假设数字,其中数字的总和可被4整除,也有点有趣。 因此,如果数字的总和可以被4整除,他认为正整数是有趣的.Help Polycarp找到给定数字a的最近或更大的有趣数字也就是说,找到有趣的数字n使得n≥a且n是最小的。
    输入

    输入中唯一的行包含一个整数a1≤a≤1000
    输出

    打印给定数字a的最近或更大的有趣数字换句话说,打印有趣数字n使得n≥a且n最小
    思路:用sprintf和sscanf两个库函数,暴力即可,不满足,就加一
    //
    // Created by hanyu on 2019/7/7.
    //
    #include<iostream>
    #include<queue>
    #include<cstring>
    #include<cstdio>
    #include<bits/stdc++.h>
    using namespace std;
    bool change(char z[1005])
    {
        int sum = 0;
        int len = strlen(z);
        for (int i = 0; i < len; i++) {
            sum+=z[i]-'0';
        }
        if(sum%4==0)
            return true;
        else
            return false;
    }
    int main()
    {
        char str[1005];
        while(cin>>str) {
            if(change(str))
                cout<<str<<endl;
            else
            {   int a;
                sscanf(str,"%d",&a);
                 for(int i=0;;i++)
                 {
                     a++;
                     char str1[1005];
                     sprintf(str1,"%d",a);
                     if(change(str1))
                     {
    
                         cout<<str1<<endl;
                         break;
                     } else
                     {
                         sscanf(str1,"%d",&a);
                     }
                 }
            }
        }
        return 0;
    }
  • 相关阅读:
    Microsoft SQL Server 2008 基本安装说明
    微软的招聘哲学——做微软人的五大核心素质
    大型网站性能优化的通用方法
    模型驱动的开发,回忆一年多前的一次开发
    远离客户陷阱小故事 转
    单例模式(Singleton)
    真的很高兴,就在今天“博客园团队”为我们开通了 “CSLA 团队”
    桥接模式(Bridge)与合成/聚合复用原则(CARP)
    2009年11月11日
    虚拟化的好处 随笔
  • 原文地址:https://www.cnblogs.com/Vampire6/p/11148866.html
Copyright © 2020-2023  润新知