tenshi非常幸運的被選為掌管智慧型之匙的天使。在正式任職之前,她必須和其他新當選的天使一樣,要宣誓。宣誓儀式是每位天使各自表述自己的使命,她們的發言稿被放在n個呈圓形排列的寶盒中。這些寶盒按順時針方向被編上號碼1、2、3……、n-1、n。一開始天使們站在編號為n的寶盒旁。她們各自手上都有乙個數字,代表她們自己的發言稿所在的盒子是從1號盒子開始按順時針方向的第幾個。例如:有7個盒子,那麼如果tenshi手上的數字為9,那麼她的發言稿所在盒子就是第2個。現在天使們開始按照自己手上的數字來找發言稿,先找到的就可以先發言。tenshi一下子就找到了,於是她最先上台宣誓:「我將帶領大家開啟noi之門……」tenshi宣誓結束以後,陸續有天使上台宣誓。可以有一位天使找了好久都找不到她的發言稿,原來她手上的數字m非常大,她轉了好久都找不到她想找的寶盒。請幫助這位天使找到她想找的寶盒的編號。
第一、二行分別讀入正整數n和m,其中n、m滿足2 ≤ n ≤ 10^8,2 ≤ m ≤ 10^1000
求寶盒的編號
樣例1
7
9
樣例2
11
108
樣例1
2
樣例2
9
這道題其實就是高精除求餘,也就是瘋狂高精減,但由於大小差距太大,n的大小是108,m的大小卻是101000,暴力減會愉快的time limit exceed,所以我們要用到移位的方法:
1234-12我們可以先用1234-1200=34
再用34-12=22
最後用22-12=10
結果就是10
華麗麗的**分割線
#include
#include
#include
#include
using
namespace std;
const
int maxn=
1005
;char str1[maxn]
,str2[maxn]
;int a[maxn]
,b[maxn]
,c[maxn]
;void
sub(
)else
}bool
comp
(int a,
int b)
void
output()
void
work()
}while
(j>0)
}}void
init()
intmain()
9106 天使的起誓
time limit 10 second memory limit 2 mb 問題描述 tenshi非常幸運的被選為掌管智慧型之匙的天使。在正式任職之前,她必須和其他新當選的天使一樣,要宣誓。宣誓儀式是每位天使各自表述自己的使命,她們的發言稿被放在n個呈圓形排列的寶盒中。這些寶盒按順時針方向被編上號...
數論 luoguP2818 天使的起誓
題目 前兩天考試的題 讀入m的時候 n就行了 好像是解方程那個題的思想 叫什麼同餘定理搞得乙個大整數取模 紫書p314 如下 include include include using namespace std define in1 read1 define in2 read2 typedef l...
洛谷P2818 天使的起誓
tenshi非常幸運地被選為掌管智慧型之匙的天使。在正式任職之前,她必須和其他新當選的天使一樣要宣誓。宣誓儀式是每位天使各自表述自己的使命,他們的發言稿放在n個呈圓形排列的寶盒中。這些寶盒按順時針方向被編上號碼1,2,n 1,n。一開始天使們站在編號為n的寶盒旁。她們各自手上都有乙個數字,代表她們自...