lightoj1236(素因子分解)

2022-09-23 14:57:15 字數 779 閱讀 3381

題目鏈結:

題目分析:本題是求解,在小於n的數中有多少lcm值是n,其實就是找小於n的數對,其素因子與n相同並且,素因子個數最大值與n相同,所以這兩個數的組成,對於n的每乙個素因子 ,只需要乙個值等於n的素因子個數,另乙個隨意,設個數為a[i]這樣值為2*(a[i]+1)-1,(最大的值只有一對)。本題是重複的不計數,所以總數要除2.

**如下:

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

using namespace std;

int k;

long long suv[100500];

const int n=10000100;

long long prime[n/10]=;

int num_prime=0;

bool isnotprime[n]=;

void su(){

for(long i = 2 ; i < n ; i ++){

if(!isnotprime[i])

prime[num_prime++]=i;

for(long j = 0 ; j < num_prime &&i*prime[j]

唯一分解定理 LightOJ 1236

題意 求有多少組 i,j 使 lcm i,j n and i j 1 n 10 14 思路 假設已找到一對 a,b 的lcm n 有a p1 d1 p2 d2 pm dm b p1 e1 p2 e2 pm em 易知max di,ei ci 先考慮有序數對 a,b 由唯一分解定理知,a的每乙個素因數...

2 7 素因子分解 20 分

給定某個正整數 n,求其素因子分解結果,即給出其因式分解表示式 輸入格式 輸入long int範圍內的正整數 n。輸出格式 按給定格式輸出n的素因式分解表示式,即 輸入樣例 1323輸出樣例 1323 3 3 7 2我的 include using namespace std long int n ...

Problem 1075 分解素因子

problem 1075 分解素因子 假設x是乙個正整數,它的值不超過65535 即1輸入的第一行含乙個正整數k 1 k 10 表示測試例的個數,後面緊接著k行,每行對應乙個測試例,包含乙個正整數x。每個測試例對應一行輸出,輸出x的素數乘積表示式,式中的素數從小到大排列,兩個素數之間用 表示乘法。2...