日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) >

p1044与p1898

發(fā)布時(shí)間:2023/12/20 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 p1044与p1898 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

數(shù)論好難啊~~?

?

嗯這兩道題看似題號(hào)、數(shù)據(jù)范圍差的很多,其實(shí)有一些共通之處。

先來(lái)看一下韓信點(diǎn)兵:

?

  作為循環(huán)語(yǔ)句和判斷語(yǔ)句的入門(mén)題,相信看我博客的肯定都會(huì)。

#include<iostream> using namespace std; int a,b,c,i; int main() {cin>>a>>b>>c;for(i=7+c;i<=100;i=i+7){if((i%3==a)&&(i%5==b)&&(i>=10)&&(i<=100)){cout<<i<<endl;return 0;}}cout<<"No answer"<<endl; return 0; } 根本沒(méi)必要貼出來(lái)的好吧

  下面來(lái)介紹一下直接算答案的強(qiáng)方法了。

  ans需要滿足三個(gè)條件%3==a、%5==b,%7==c;

  那能不能構(gòu)造出三個(gè)數(shù),分別滿足一個(gè)其中條件并且是另外兩個(gè)數(shù)的公倍數(shù)?(這句話是本篇中最重要的話了,其他都是廢話)

  比如滿足第一個(gè)條件的數(shù)要求為5和7的倍數(shù),也就是35的倍數(shù)。還要%3==a,現(xiàn)在35%3已經(jīng)等于2了,難道要35*a/2?(我知道a只可能等1 2)不如往后找一找,說(shuō)不定有%3=1的好數(shù)。然后70就是了,很棒。那第一個(gè)數(shù)就是70*a了。

  然后由于21%5==1,15%7==1,剛好。那么最后答案就是(70*a+21*b+15*c)%105。

  本題中要求10到100之間的,加個(gè)判斷就行。

1 #include<iostream> 2 using namespace std; 3 int a,b,c,ans; 4 int main() 5 { 6 cin>>a>>b>>c; 7 ans=(70*a+21*b+15*c)%105; 8 if(ans>=10&&ans<=100) cout<<ans; 9 else cout<<"No answer"<<endl; 10 return 0; 11 }

這道題的思想再推廣一點(diǎn)會(huì)怎么樣呢?那就是p1898了。

看不懂題解怎么辦啊?沒(méi)關(guān)系,往下看。

我們先處理出所有的a的累乘sum(應(yīng)該不是sum吧但是我不知道用什么),對(duì)每個(gè)數(shù)找出sum/a[i]的倍數(shù)中%a[i]==1的,乘對(duì)應(yīng)的b[i]是滿足第i個(gè)條件的數(shù)。全部相加后對(duì)sum取余即為所求。\

果然還是看不懂就對(duì)著代碼看.

這個(gè)代碼的復(fù)雜度好迷啊...如果要寫(xiě)的話還是學(xué)一下exgcd吧(18/12/10);

#include <cstdio> #include <iostream> #include <cmath> #include <string> #include <cstring> #include <algorithm> using namespace std; int i,f; long long wyt(long long x,long long y,long long z) {if(y==1)return 0;for(f=0;;f++)if(x*f%y==1)break;return f*x*z; } long long ans,sum=1; int n; long long a[11],b[11]; int main() { //freopen("123.in","r",stdin); //freopen("123.out","w",stdout);cin>>n;for(i=1;i<=n;i++){ cin>>a[i]>>b[i];sum*=a[i];}for(i=1;i<=n;i++){ans+=wyt(sum/a[i],a[i],b[i]);}cout<<ans%sum; }

由于數(shù)較少,就不用快讀了哈。

?

轉(zhuǎn)載于:https://www.cnblogs.com/qywyt/p/9019190.html

總結(jié)

以上是生活随笔為你收集整理的p1044与p1898的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。