洛穀 U6850 手機密碼

來源:互聯網
上載者:User

標籤:too   bsp   names   轉換   重複   namespace   hold   cstring   一個   

U6850 手機密碼題目背景

小明的手機上設了一個由四個數字組成的密碼,但是小明自己的記性不好,但又不想把密碼直接記在紙上,於是便想了一個方法。

題目描述

小明有四行數字,每行數字都有n[i](<=250)位,第i行的數字代表著小明密碼的第i位,小明密碼的轉換的方法是這樣的:將這個數各位上的數加起來,會得到一個新數,重複這個操作,直到這個新數小於10。

n[i]不在輸入中

輸入輸出格式輸入格式:

 

共四行,每行一個數。

 

輸出格式:

 

一個數,表示 小明的四位元密碼。

 

輸入輸出範例輸入範例#1:
123456789325633432633426452634654
輸出範例#1:
9292
說明
  • 資料說明
123456789=1+2+3+4+5+6+7+8+9=45=4+5=932563343=3+2+5+6+3+3+4+3=29=2+9=11=1+1=226334=2+6+3+3+4=18=1+8+926452634654=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];}

 

洛穀 U6850 手機密碼

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.