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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

hrbust 哈理工oj 1921 三原色(改进版)【集合相关问题】

發布時間:2023/12/10 编程问答 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 hrbust 哈理工oj 1921 三原色(改进版)【集合相关问题】 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

三原色(改進版)
Time Limit: 1000 MSMemory Limit: 32768 K
Total Submit: 137(77 users)Total Accepted: 78(69 users)Rating:?Special Judge:?No
Description

Dream、Griselda?還有?Sunshine正打算裝飾一下集訓隊的墻,為了省錢,她們決定只買三原色的染料,這樣就可以花費很少的錢,得到所有的顏色了O(∩_∩)O~

最初她們把墻分成了n塊,編號分別為1,2,3,……n。

Dream、Griselda、sunshine分別喜歡數字x,y,z,她們只涂編號為她們喜歡的數字的倍數的墻,例如:?Griselda?喜歡數字3,所以Griselda只涂編號是3,6,9,12……那些墻;

涂完之后,問這n塊墻中有多少是單色調的?


Input

本題有多組測試數據,每組測試數據輸入四個正整數x,y,z,n其中滿足

(0<x,y,z<=1000;0<n<=10^9)。


Output
對于每組測試數據輸出一個數字,即單色調的墻塊總數。
Sample Input

1?2?3?4

6?2?4?1000


Sample Output

1

667


Hint
每個人分別有一種顏色的染料,不允許互相借用染料等。

這個題是讓我們計算單色的部分,我們要去掉重復的顏色的部分,剩下的就是要求的部分,這里我們很容易就知道怎樣去掉兩個顏色重疊的部分,但是兩個顏色重疊的部分的其中一部分是3色重疊,我們到底應該怎么辦呢?一個圖解決所有問題、


我們假設青,品紅和黃色就是題干中的x,y,z,那么我們先減掉兩個顏色重疊的部分的時候,一共減去了兩次黑色的部分、所以在最后我們應該加上、對應AC代碼通俗易懂:

#include<stdio.h> #include<string.h> using namespace std; #define ll long long int ll gcd(ll x,ll y) {return y==0?x:gcd(y,x%y); } ll lcm(ll x,ll y) {return x*y/gcd(x,y); } int main() {ll x,y,z,n;while(~scanf("%lld%lld%lld%lld",&x,&y,&z,&n)){ll a=lcm(x,y);ll b=lcm(x,z);ll c=lcm(y,z);ll d=lcm(a,z);ll output=n/a+n/b+n/c-2*(n/d);printf("%lld\n",n-output);} }

總結

以上是生活随笔為你收集整理的hrbust 哈理工oj 1921 三原色(改进版)【集合相关问题】的全部內容,希望文章能夠幫你解決所遇到的問題。

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