幸運數字(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 的巧克力棒,然後 慢慢享用。它打算每次將一...