JZOJ 3 18 1507 普及模擬 數列

2021-07-28 22:15:50 字數 1430 閱讀 3422

題目描述

給定乙個等差數列,第一項是a, 從第二項開始,每項與前一項的差都是乙個定值b。如果用數學形式來表示,那麼可以表示成 a + b × x , 其中 x≧0,且是整數。例如: a = 1, b=2, 那麼這個等差數列就是:1,3,5,7,9…

再給定乙個等比數列,第一項是c, 從第二項開始,每項是前一項的d倍。如果用數學形式來表示等比數列,則是 c ×(dy)。 其中 y≧0, 且是整數。例如: c = 2, d = 3, 那麼這個等比數列就是:2,6,18,54…

你的任務是計算在1至upperbound內的正整數,有多少正整數是「合法」的?

所謂的「合法」是指:該整數屬於上面給定的等差數列的某項或者屬於等比數列的某項,或者既屬於等差數列的項也屬於等比數列的項。

輸入一行,5個整數,分別是a,b,c,d,upperbound。

(1≤a,b,c,upperbound≤1012, 1≤d≤105。)

對於80%的資料,1≤upperbound≤1000000。

輸出乙個整數,表示「合法」正整數的個數。

樣例輸入

1 1 1 2 1000

樣例輸出

題解:

步驟一:先將等差數列的個數求出來。

步驟二:再將等比數列求出來,並存在陣列裡。

步驟三:掃一遍等比陣列,將既是等比的又是等差的去重。

**如下:

var

x,y,q,p,n,s,ss:int64;

i:longint;

a:array[0..50] of int64;

begin

assign(input,'shulie.in');

assign(output,'shulie.out');

reset(input);

rewrite(output);

read(x,y,q,p,n);

if n>=x then s:=(n-x) div y+1;

if p=1

then

if (((q-x) mod y<>0) and (q<=n)) or ((qand (q<=n)) then inc(s) else s:=s

else

begin

ss:=1;

a[1]:=q;

while a[ss]*p<=n do

begin

inc(ss);

a[ss]:=a[ss-1]*p;

end;

s:=s+ss;

for i:=1

to ss do

if (a[i]-x>=0) and ((a[i]-x) mod y=0) then dec(s);

end;

write(s);

close(input);

close(output);

end.

JZOJ 3 18 1508 普及模擬 螞蟻

題目描述 在二維平面座標軸裡面,有n只螞蟻,第i只螞蟻所在的點的座標是 xi,yi 座標都是整數。所有螞蟻的移動速度都相等,都是每秒移動1個單位。每只螞蟻都有乙個固定的移動方向,是如下4種方向之一,都是平行於座標軸的 l n表示向北 即朝上 則y座標正方向。l e表示向東 即朝右 則x座標正方向。l...

數學 (JZOJ) 普及模擬 單元格

題目描述 在乙個r行c列的 裡,我們要選出3個不同的單元格。但要滿足如下的兩個條件 1 選中的任意兩個單元格都不在同一行。2 選中的任意兩個單元格都不在同一列。假設我們選中的單元格分別是 a,b,c,那麼我們定義這種選擇的 費用 f a b f b c f c a 其中f a b 是指單元格a到單元...

jzoj 1579 普及模擬 老鼠 解題報告

時間限制 1000 ms 空間限制 262144 kb 具體限制 goto problemset 題目描述 最近小h家鬧鼠災,弄得小h十分惱火。為了解決老鼠的問題,小h根據老鼠的特點想出了乙個方法。假設小h 的家是乙個n n的格仔,每個格仔都有一定的食物,數量在0到100之間,經過觀察,老鼠的窩在 ...