zoukankan      html  css  js  c++  java
  • 洛谷 U6850 手机密码

    题目背景

    小明的手机上设了一个由四个数字组成的密码,但是小明自己的记性不好,但又不想把密码直接记在纸上,于是便想了一个方法。

    题目描述

    小明有四行数字,每行数字都有n[i](<=250)位,第i行的数字代表着小明密码的第i位,小明密码的转换的方法是这样的:将这个数各位上的数加起来,会得到一个新数,重复这个操作,直到这个新数小于10。

    n[i]不在输入中

    输入输出格式

    输入格式:

     

    共四行,每行一个数。

     

    输出格式:

     

    一个数,表示 小明的四位数密码。

     

    输入输出样例

    输入样例#1:
    123456789
    32563343
    26334
    26452634654
    输出样例#1:
    9292

    说明

    • 数据说明
    123456789=1+2+3+4+5+6+7+8+9=45=4+5=9
    32563343=3+2+5+6+3+3+4+3=29=2+9=11=1+1=2
    26334=2+6+3+3+4=18=1+8+9
    26452634654=2+6+4+5+2+6+3+4+6+5+4=47=4+7=11=1+1=2

    密码=9292

    注:别想用int64(long long)骗分,真实数据里n[i]至少有一个会>20。

    有2个数据里的n[4]<1。不知道洛谷会怎么评测

    #include<iostream>
    #include<cstdio>
    #include<cstring>
    #include<algorithm>
    using namespace std;
    char s[5][251];
    long long num;
    int ans[5];
    int main(){
        for(int i=1;i<=4;i++)    cin>>s[i];
        for(int i=1;i<=4;i++){
            num=0;
            int len=strlen(s[i]);
            for(int j=0;j<len;j++)
                num+=s[i][j]-'0';
            while(num>9){
                long long x=num;num=0;
                while(x){
                    num+=x%10;
                    x/=10;
                }
            }
            ans[i]=num;
        }
        for(int i=1;i<=4;i++)
            cout<<ans[i];
    }
    细雨斜风作晓寒。淡烟疏柳媚晴滩。入淮清洛渐漫漫。 雪沫乳花浮午盏,蓼茸蒿笋试春盘。人间有味是清欢。
  • 相关阅读:
    eclipse下切换svn用户
    Netty实现服务端客户端长连接通讯及心跳检测
    Spring Batch系列总括(转载)
    SQL中的Null深入研究分析
    MySQL报错“1366
    Memcache学习php完整一例
    Memcache学习笔记
    递归和迭代区别
    解决textarea 输出有空格问题
    解决mysql安装出现error Nr.1045问题
  • 原文地址:https://www.cnblogs.com/cangT-Tlan/p/7471010.html
Copyright © 2011-2022 走看看