zoukankan      html  css  js  c++  java
  • 清北学堂模拟赛d1t1 位运算1(bit)

    题目描述
    LYK拥有一个十进制的数N。它赋予了N一个新的意义:将N每一位都拆开来后再加起来就是N所拥有的价值。例如数字123拥有6的价值,数字999拥有27的价值。
    假设数字N的价值是K,LYK想找到一个价值是K-1的数字,当然这个答案实在太多了,LYK想使得这个价值为K-1的数字尽可能大。

    输入格式(bit.in)
    一个数N。

    输出格式(bit.out)
    一个数表示答案。你需要输出一个非负整数,且这个数不包含前导0。

    输入样例1
    199

    输出样例1
    198

    输入样例2
    1000

    输出样例2
    0

    对于20%的数据n<=10
    对于40%的数据n<=100
    对于60%的数据n<=1000
    对于100%的数据1<=n<=100000。

    分析:小学组难度,读入字符串从末尾找第一个不是0的数,输出的时候标记一下前导0就好了.

    #include <bits/stdc++.h>
    
    using namespace std;
    
    char s[1000];
    bool flag = false;
    
    int main()
    {
        freopen("bit.in","r",stdin);
        freopen("bit.out","w",stdout);
        scanf("%s",s + 1);
        int sizee = strlen(s + 1);
        //printf("%d
    ",sizee);
        for (int i = sizee; i >= 1; i--)
        {
            if (s[i] != '0')
            {
            s[i]--;
            break;
            }
        }
        for (int i = 1; i <= sizee; i++)
        {
        if (!flag && s[i] != '0')
        flag = 1;
        if (flag)
        printf("%c",s[i]);
        }
        if (!flag)
        printf("0");
        printf("
    ");
        
        return 0;
    }
  • 相关阅读:
    odoo11 访问MSQL Server等第三发数据源
    学习 Git Rebase
    Arch Linux 启用 MTU 探测
    可控函数
    DIY:从零开始写一个 SQL 构建器
    F# 4.6 预览版正式公布
    使用 Immutable Subject 来驱动 Angular 应用
    如何对付运行时可能为 null 的 Record Type
    Angular Forms
    不要使用 JWT 进行会话管理
  • 原文地址:https://www.cnblogs.com/zbtrs/p/7617565.html
Copyright © 2011-2022 走看看