濟南學習 Day 4 T1 pm

2022-02-11 19:40:08 字數 1794 閱讀 3885

幸運數字(number)

time limit:1000ms memory limit:64mb

題目描述

lyk 最近運氣很差,例如在 noip 初賽中僅僅考了 90 分,剛剛卡進複賽,於是它決定使

用一些方法來增加自己的運氣值。

它覺得,通過收集幸運數字可以快速的增加它的 rp 值。

它給幸運數字下了乙個定義: 如果乙個數 x 能被 3 整除或被 5 整除或被 7 整除, 則這個

數為幸運數字。

於是它想讓你幫幫它在 l~r 中存在多少幸運數字。

輸入格式(number.in)

第一行兩個數 l,r。

輸出格式(number.out)

乙個數表示答案。

輸入樣例

10 15

輸出樣例

4資料範圍

對於 50%的資料 1<=l<=r<=10^5。

對於 60%的資料 1<=l<=r<=10^9。

對於 80%的資料 1<=l<=r<=10^18。

對於 90%的資料 1<=l<=r<=10^100。

對於另外 10%的資料 l=1,1<=r<=10^100。

對於 100%的資料 l,r 沒有前導 0。

1/*2

**太長,copy from other's

3容斥原理

4對於1~x中,ans=x/3+x/5+x/7-x/15-x/21-x/35+x/105

5注意高精度時應該先把該加的都加上,在進行減法,這樣可以避免出現負數。6*/

7 #include8 #include9 #include10

#define n 200

11using

namespace

std;

12char s[n];int

a1[n],b1[n],c1[n];

13struct

node

1420

};node s1,s2,ans;

21node jia(node x,node y)

2236

if(c1[len+1])len++;

37 c.len=len;

38for(int i=len;i>=1;i--)c.a[i]=c1[len-i+1

];39

return

c;40}41

node jian(node x,node y)

4258}59

int p=len;

60while(c1[p]==0)p--;

61for(int i=p;i>=1;i--)c.a[++c.len]=c1[i];

62return

c;63

}64 node chu(node x,int

b)65

74int len=1;75

while(!a1[len]&&len)len++;

76for(int i=len;i<=x.len;i++)

77 c.a[++c.len]=a1[i];

78return

c;79}80

void

init()

8191}92

if(!s1.a[1

])9398}

99int

main()

100

思路:容斥原理ans=(r/3+r/5+r/7-r/15-r/35-r/21+r/105)-((l-1)/3+(l-1)/5+(l-1)/7-(l-1)/15-(l-1)/35-(l-1)/21+(l-1)/105)

濟南學習 Day 3 T1 pm

巧克力棒 chocolate time limit 1000ms memory limit 64mb 題目描述 lyk 找到了一根巧克力棒,但是這根巧克力棒太長了,lyk 無法一口吞進去。具體地,這根巧克力棒長為 n,它想將這根巧克力棒折成 n 段長為 1 的巧克力棒,然後 慢慢享用。它打算每次將一...

濟南學習 Day 5 T1 pm

尤拉函式 phi 題目描述 已知 n 求phi n 輸入說明 正整數n。輸出說明 輸出phi n 樣例輸入 樣例輸出 資料範圍 對於20 的資料,n 10 5 對於60 的資料,n 10 9 對於100 的資料,n 10 18 在這裡先普及一下尤拉函式 在數論,對正整數n,尤拉函式varphi n ...

濟南學習 Day 3 T1 pm

巧克力棒 chocolate time limit 1000ms memory limit 64mb 題目描述 lyk 找到了一根巧克力棒,但是這根巧克力棒太長了,lyk 無法一口吞進去。具體地,這根巧克力棒長為 n,它想將這根巧克力棒折成 n 段長為 1 的巧克力棒,然後 慢慢享用。它打算每次將一...