POJ2115 C Looooops(線性同余方程)

無符號k位數溢出就相當于mod 2k,然后設循環x次A等于B,就可以列出方程:

$$ Cx+A \equiv B \pmod {2^k} $$ $$ Cx \equiv B-A \pmod {2^k} $$

最后就用擴展歐幾里得算法求出這個線性同余方程的最小非負整數解。

 1 #include<cstdio>
 2 #include<cstring>
 3 #define mod(x,y) (((x)%(y)+(y))%(y))
 4 #define ll long long
 5 ll exgcd(ll a,ll b,ll &x,ll &y){
 6     if(b==0){
 7         x=1; y=0;
 8         return a;
 9     }
10     ll d=exgcd(b,a%b,x,y);
11     ll t=y;
12     y=x-a/b*y;
13     x=t;
14     return d;
15 }
16 ll MLES(ll a,ll b,ll n){
17     ll x,y;
18     ll d=exgcd(a,n,x,y);
19     if(b%d) return -1;
20     return mod(x*(b/d),n/d);
21 }
22 int main(){
23     ll a,b,c,k;
24     while(~scanf("%lld%lld%lld%lld",&a,&b,&c,&k) && (a||b||c||k)){
25         k=1LL<<k;
26         ll res=MLES(c,b-a,k);
27         if(res==-1) puts("FOREVER");
28         else printf("%lld\n",res);
29     }
30     return 0;
31 }

?

轉載于:https://www.cnblogs.com/WABoss/p/5180434.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/396826.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/396826.shtml
英文地址,請注明出處:http://en.pswp.cn/news/396826.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

工作測試博客

工作測試博客轉載于:https://blog.51cto.com/12559670/1895000

iphone各機型參數對比_帶你了解新款iPhone 12系列四款機型

2020年10月14日凌晨1&#xff1a;00&#xff0c;蘋果召開新品發布會&#xff0c;發布了新款iPhone 12系列手機&#xff0c;“果粉”們期待已久的iPhone 12終于來了。iPhone 12系列手機共有四款機型&#xff0c;分別是iPhone 12 mini、iPhone 12、iPhone 12 Pro、iPhone 12 Pro …

設置開機自啟動服務

一、軟鏈接方法 利用ln -s 命令將/etc/rc.d/init.d/目錄下腳本&#xff08;注意執行權限&#xff09;軟連接到 rc3目錄下&#xff0c;/etc/rc.d/rc3.d 目錄也就是我們一般的系統運行級別。ln -s /etc/rc.d/init.d/** /etc/rc.d/rc3.d/S**這里的S代表的是開機自啟動服務&#x…

mysql benchmark基準測試

git項目地址&#xff1a; https://github.com/akopytov/sysbench 利用sysbench很容易對mysql做性能基準測試&#xff08;當然這個工具很強大&#xff0c;除了測試主流數據庫性能&#xff0c;還能測試其它方面&#xff0c;詳情自己看官網項目文檔&#xff09; mac上的用法&#…

高并發第一彈:準備階段 了解高并發

高并發第一彈:準備階段 了解高并發 首先需要知道什么并發, 什么是高并發. 并發: 關于并發的學習&#xff0c;可以從JDK提供的并發包為核心開始&#xff0c;許多其他的類和封裝都是對其進行擴展或者補充&#xff0c;我們來看一下Java并發包(java.util.concurrent包&#xff0c;簡…

matlab立體坐標定位_【半導光電】基于光電探測器的激光章動定位算法(二)

今日光電有人說&#xff0c;20世紀是電的世紀&#xff0c;21世紀是光的世紀&#xff1b;知光解電&#xff0c;再小的個體都可以被賦能。歡迎來到今日光電&#xff01;----與智者為伍 為創新賦能----1. 章動定位算法實驗前&#xff0c;首先需要對光路進行調節&#xff0c;保證經…

linux系統死機窗口移動不了怎么辦,Linux 操作系統死機故障處理方法總結

hai00882008-01-30 15:53我只備份一次,我的磁帶有400G, 備份第二次,磁帶就彈出來,我的tapelist里的內容 20080130151855 DailySet1-01 reuse是不是和我的anmanda.conf的chg-manua(更換磁帶的腳本)l這個腳本有關係,-sh-3.00$ amcheck DailySet1Amanda Tape Server Host Check---…

Android:支持多選的本地相冊

前段時間在做一個動態發布功能&#xff0c;需要用到圖片上傳。一開始直接調用的系統相冊和相機&#xff0c;由于系統相機不支持多選&#xff0c;就花點時間做了個本地相冊&#xff0c;在此開源下。 先上截圖&#xff0c;依次為選擇相冊界面、相冊詳情界面、查看圖片大圖界面 相…

心靈與大腦

2019獨角獸企業重金招聘Python工程師標準>>> http://blog.sina.com.cn/s/blog_6f034fc30102f2tg.html 轉載于:https://my.oschina.net/chirnson/blog/832011

python入門心得_記初學python的一些心得

人生苦短&#xff0c;我用python&#xff01; 其實我自學python也很長一段時間了&#xff0c;但總是去更換學習資料&#xff0c;搞的現在學的不是很好&#xff0c;因為沒更換次資料都要從頭開始學起&#xff0c;那么分享下我的學習戰況吧&#xff0c;不是很好&#xff0c;還將就…

羅技鍵盤linux,logiops,在 Linux下設置羅技鼠標的按鍵和手勢

眾所周知&#xff0c;幾乎所有的消費級電子產品都不會對 Linux 有太好的支持&#xff0c;羅技當然也不例外。Logitech Options 是羅技辦公鼠標的自定義功能驅動&#xff0c;很容易猜到&#xff0c;羅技只提供了Windows和Mac版本。但幸運的是&#xff0c;有人開發出了一個第三方…

16.U-boot的工作流程分析-2440

16.U-boot的工作流程分析-2440 分析的流程&#xff1a; 程序入口 第一階段程序分析 第二階段程序分析 2440開發板&#xff1a; 1.uboot的入口&#xff1a; 要看uboot工程的入口&#xff0c;首先打開頂層目錄的Makefile&#xff1a; Uboot所支持的開發板&#xff0c;在頂層的Ma…

linux增加調整虛擬內存

增加虛擬內存&#xff1a;1、檢查當前的分區情況:# free -m2、增加交換分區文件及大小&#xff0c;如果要增加1G大小的交換分區&#xff0c;則命令寫法如下&#xff0c;其中的 bs等于想要的塊大小&#xff0c;count是要增加多少塊&#xff0c;虛擬內存的大小等于bs*count# dd i…

linux練習手冊,Linux操作習題集(1)

動動手實作題&#xff1a;假設你不知道你的主機內部的各項元件資料&#xff0c;請拆開你的主機機殼&#xff0c;並將內部所有的元件拆開&#xff0c;並且依序列出&#xff1a;CPU的廠牌、型號、最高時脈&#xff1b;主記憶體的容量、介面 (DDR/DDR II等)&#xff1b;顯示卡的介…

如何使用Redis做MySQL的緩存

應用Redis實現數據的讀寫&#xff0c;同時利用隊列處理器定時將數據寫入mysql。 同時要注意避免沖突&#xff0c;在redis啟動時去mysql讀取所有表鍵值存入redis中&#xff0c;往redis寫數據時&#xff0c;對redis主鍵自增并進行讀取&#xff0c;若mysql更新失敗&#xff0c;則需…

MySQL中CREATE DATABASE和CREATE SCHEMA區別(轉)

在使用MS SQL的時候&#xff0c;一般創建數據庫我們都習慣于使用CREATE DATABASE 來完成&#xff0c;而使用CREATE SCHEMA來創建架構&#xff0c;但是在MySQL中&#xff0c;官方的中文文檔在 CREATE DATABASE 語法一節中寫了一句&#xff1a;也可以使用CREATE SCHEMA。那么CREA…

psychopy 與腦電打碼 eeg

2019獨角獸企業重金招聘Python工程師標準>>> 實驗程序就不放了&#xff0c;這里主要放如何向串口發送打碼的代碼 實際上&#xff0c;給腦電打碼的本質就是向串口發送一個字符&#xff0c;腦電的程序會自動在收到該字符的同時在腦電數據上進行標記。以下代碼打開了一…

deepin linux grub,deepin linux 安裝之后 引導錯誤 出現 grub

deepin 安裝之后 引導錯誤,,, 忙了一晚上 終于解決了 太辛苦了 不過明白了grub的工作原理也不虧,,,, 就是 整個過程滿滿的絕望 (哭具體怎么怎么回事 如下安裝deepin 15.11 安裝完之后不能引導 會卡在grub> 界面以上兩種方式 嘗試了6個小時 都是失敗的 期間出現各種問題 一個…

python怎樣連續輸入兩個數字_python實現輸入數字的連續加減

不用庫&#xff0c;寫了很久&#xff0c;一直出bug&#xff0c;到網上一搜&#xff0c;可以直接輸入之后&#xff0c;eval(str)即可得到結果&#xff01; eval程序如下&#xff1a; sinput("請輸入要運算的數字") print("The result is{}".format(eval(s))…

修改JAVA代碼,需要重啟Tomcat的原因

準確的說只有修改方法中的內容才不需要重啟&#xff0c;因為tomcat中對于方法的調用是動態的&#xff0c;調用方法的時候&#xff0c;方法的內容才會被加載 新增成員變量&#xff0c;方法&#xff0c;或修改靜態方法和靜態變量、創建新的類 這些都是需要重啟的&#xff0c;因為…