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;
    }
  • 相关阅读:
    SQL Server 全文搜索 配置、查询初体验
    SQL Server 触发器
    SQL Server 锁
    SQL Server 事务语法
    SQL Server 表变量和临时表的区别
    SQL Server系统存储过程
    SQL 语句转换格式函数Cast、Convert
    SQL Server 系统视图
    T-SQL 批处理
    SQL Server 分区表
  • 原文地址:https://www.cnblogs.com/zbtrs/p/7617565.html
Copyright © 2011-2022 走看看