日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

codevs4343 找回密码

發布時間:2023/11/29 编程问答 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 codevs4343 找回密码 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
題目描述?Description

jrMz 很喜歡動漫《叛逆的魯魯修》(額= =不知道是不是因為他盯上了動畫片里的 MM),他
準備以一種神奇的方式降臨《叛逆的魯魯修》世界,所以他先從《變形金剛》里把大黃蜂拐
了出來,然后成功加入了黑色騎士團。不過比較坑的事情出現了,正在與機甲激烈戰斗中的
大黃蜂突然 WA 了,只有輸入密碼才能使它 AC,不幸的是 jrMz 已經忘記了密碼。大黃蜂
的密碼是一個 N 位的十進制非負整數(允許前綴 0),為了防止遺忘, jrMz 曾經將密碼記了
下來。出于保密他沒有將密碼按原樣記錄(作死啊= =),于是他將他的密碼乘以 E,其中
E=233……3(共 N-1 個 3),然后將結果的最后 N 位(保留前綴 0)進行記錄。看著本來正
在欣賞他颯爽風姿的 MM(此僅僅是舉例,舉例!比如說魯魯修的妹妹什么的……), jrMz
只好緊握住你的雙手向你求助了。

輸入描述?Input Description

僅一行,一個 N 位的十進制非負整數,表示密碼與 E 的乘積的最后 N 位。

輸出描述?Output Description

僅一行,一個 N 位的十進制非負整數,表示密碼。

樣例輸入?Sample Input

178

樣例輸出?Sample Output

666

數據范圍及提示?Data Size & Hint

【 Sample Explanation】
在所有三位十進制非負整數中,只有 666,滿足其與 233 的乘積( 155178)的最后 3 位是 178。
【 Data Size】
對于 30%的數據, N<=7;
對于 60%的數據, N<=1,000;
對于 100%的數據, 3<=N<=1,000,000。

#include<cstdio>#include<cstring>char a[1000010],ans[1000010];int main(){scanf("%s",ans);int n=strlen(ans),g=ans[n-1]-'0',k=0;for(int i=n-1;i>=0;i--) a[n-i]=ans[i]-'0';memset(ans,0,sizeof(ans));for(int i=1;i<=n;i++){ans[i]+=a[i]*3;ans[i+1]+=ans[i]/10;ans[i]=ans[i]%10;}ans[n]=(ans[n]+g)%10;for(int i=1;i<=n;i++){a[i]=k-ans[i];if(a[i]<0){a[i]+=10;k=-1;}}for(int i=n;i>0;i--) printf("%d",a[i]);return 0;}//origin #include<iostream> #include<cstdio> #include<string> #include<cstring> #include<algorithm> #include<queue> #include<vector> #include<stack> #include<map> using namespace std; int n,a[2000015],b[2000015],c[2000015],d[2000015]; const int ans[10] = {0,7,4,1,8,5,2,9,6,3}; inline int getans(int w){int cmd = 3;for(int i = 1;i <= n;i++){if(i == n) cmd = 2;if(w == 0) break;for(int j = w-1;j < w;j++){c[i+j-1] += cmd*b[j];c[i+j] += c[i+j-1]/10;c[i+j-1] %= 10;}}return ans[(a[w]-c[w]+10)%10]; } int main(){n = 0;char cmd;while(1){cmd = getchar();if(cmd < 48) break;d[++n] = cmd-'0';}for(int j = n;j >= 1;j--) a[j] = d[n-j+1];for(int i = 1;i <= n;i++){b[i] = getans(i);}for(int i = n;i >= 1;i--)printf("%d",b[i]);return 0; }

?

轉載于:https://www.cnblogs.com/hyfer/p/5851904.html

總結

以上是生活随笔為你收集整理的codevs4343 找回密码的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。