zoukankan      html  css  js  c++  java
  • [简单思维题]机智的AmyZhi

    题目描述

    那年一个雨季,AmyZhi在校门外弯身买参考书。
    这时SiriusRen走过来,一言不合甩给她一道(自认为)很难的题
    给你一个数字N,求一个最小的正整数M,这个数字M的各个位的数字加上它本身之和恰好为N。
    没有想到AmyZhi秒解了这道题 并把N扩大到了10^18 甩回给了SiriusRen
    SiriusRen苦苦思索,发现并不会这道题
    可怜SiriusRen一世英名,在AmyZhi面前却宛如智障少年
    SiriusRen抬头透过倾斜的雨丝,看向模糊的世界,车水马龙,穿流不息,人来人往,形色匆匆,刹那间惘然,竟不知去向何方……

    输入

    第一行一个整数T,表示有T组数据。
    接下来T行每行一个整数N。

    输出

    对于每组数据,输出M。
    若无解,输出“Stupid SiriusRen”

    样例输入

    3
    216 
    121 
    2005
    

    样例输出

    198
    Stupid SiriusRen
    1979
    

    提示

    对于20%的数据 N<=1000,T<=1000 
    对于40%的数据 N<=100000,T<=5
    对于60%的数据 N<=100000,T<=5000
    对于100%的数据 N<=1018,T<=50000

    思路:这题本身没什么可讲的。。但是一直wa就很迷,发现把unsigned long long改成long long就对了?能用long long却不能用unsigned long long?
    以后但凡数据本身不超过1e18并且运算过程中数据不超过1e18的就用long long,否则就用unsigned long long
     
    AC代码:
    #include <iostream>
    #include<cstdio>
    #include<algorithm>
    typedef long long ll;
    using namespace std;
    
    int main()
    {
        ll t;
        scanf("%lld",&t);
        while(t--){
            ll n;
            scanf("%lld",&n);
            ll tmp=n;
            ll len=0;
            while(tmp){
                len++;
                tmp/=10;
            }
            ll i;
            for(i=max((ll)0,n-9*len);i<=n;i++){
                ll sum=i;
                ll tmp=i;
                while(tmp){
                    sum+=tmp%10;
                    tmp/=10;
                }
                if(sum==n) {printf("%lld
    ",i); break;}
            }
            if(i>n) printf("Stupid SiriusRen
    ");
        }
        return 0;
    }
    转载请注明出处:https://www.cnblogs.com/lllxq/
  • 相关阅读:
    对图像组成不了解?这样学习Matplotlib必走弯路!
    Python数据可视化Matplotlib——Figure画布背景设置
    Matplotlib风羽自定义
    matplotlib删除地图投影上的等值线及风场
    利用Eric+Qt Designer编写倒计时时钟
    Python数据可视化利器Matplotlib,绘图入门篇,Pyplot介绍
    matplotlib极坐标方法详解
    Windows下Python读取GRIB数据
    简明Python教程自学笔记——命令行通讯录
    基于Python的Grib数据可视化
  • 原文地址:https://www.cnblogs.com/lllxq/p/9037891.html
Copyright © 2011-2022 走看看