yes題意就是給你乙個陣列,然後有m次詢問,問你從l到r區間內的所有數的乘積能不能整除d。
這道題呢,比賽的時候是想到了分解質因子,但是當時沒有想到怎麼比較[l,r]一段區間的質因子和d的質因子。最後看了題解才恍然大悟,用vector來儲存下標,然後二分找一段區間的某個質因子的數量。感覺確實很巧妙。
#include
#include
#include
#include
#include
#include
#include
using
namespace std;
#define ll long long
const
int n=
1e5+10;
vector<
int>v[n]
;int n,m;
intsolve
(int l,
int r,
int d)
if(num)}}
if(d>1)
}return1;
}int
main()
scanf
("%d%d"
,&n,
&m);
int x;
for(
int i=
1; i<=n; i++)}
if(x>1)
}while
(m--
)else}}
return0;
}
質分解因數 質因子分解
3 參考 分解因數 時間限制 1000 ms 記憶體限制 32768 kb 長度限制 100 kb 判斷程式 standard 來自 小小 題目描述 所謂因子分解,就是把給定的正整數a,分解成若干個素數的乘積,即 a a1 a2 a3 an,並且 1 a1 a2 a3 an。其中a1 a2 an均為...
質因子分解
今天沒事做,我們來寫個部落格,混混等級!我們以求數的質因子的個數為例來講解。對於質因子分解最簡單最純粹的暴力我相信大家都會的。int getnum int x return ans 但是當處理的資料比較多,而且範圍也比較大的時候顯然這種方式就不再那麼適合了。既然我們是分解質因子,那麼我們就可以先預處...
質因子分解
這個東西會在程式執行結尾提示 press any key to continue 用以結束程式。貴在那裡?讓我們來看看system pause 的流程 1 暫停你的程式 2 在sub process中啟動os 3 尋找要執行的命令並為之分配記憶體 4 等待輸入 5 記憶體 6 結束os 7 繼續你的...