日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Good Numbers(HDU5447+唯一分解)

發布時間:2025/3/15 编程问答 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Good Numbers(HDU5447+唯一分解) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

題目鏈接

傳送門

題面

題意

首先定義對于\(k\)的好數\(u\):如果\(u\leq k\)\(u\)的所有質因子與\(k\)的質因子一樣則稱\(u\)對于\(k\)是一個好數。
現給你兩個數\(k1,k2(1\leq k1,k2\leq 10^{24})\),要你求\(k1,k2\)的好數個數,對于\(k1,k2\)有兩者的最大質因子一定相同第二大質因子一定不同。

思路

我們知道對于小于等于\(10^{24}\)的數最多有三個大于\(10^6\)的質因子,因此對于數\(k1,k2\)我們可以先將其小于等于\(10^6\)的質因子全部分離出來,那么最后最多還剩三個質因子的指數相乘。
我們設\(p1,p2,p3\)為二者的最一、二、三大質因子。
如果最后剩余的\(k1,k2\)只剩\(p1\),那么就只能是\(p1\)的冪次,此時可以通過枚舉求出\(p1\)的指數,因為大于\(1e6\)的數最多\(3\)次就大于\(10^{24}\)了。
如果最后剩余的\(k1,k2\)\(p1,p2\)的冪次相乘,那么\(gcd(k1,k2)\)一定是\(p1\)的冪次,因為二者的\(p2\)一定不同嘛~這樣我們可以通過兩次枚舉得到其指數。
如果最后剩余的\(k1,k2\)\(p1,p2,p3\)的冪次相乘,那么\(p1,p2,p3\)的指數一定都是\(1\)次。
因為好數的要求是需要質因子與\(k\)相同,所以每個質因子的次數至少為\(1\),所以如果\(k=p_1^{c_1}p_2^{c_2}\dots\),那么答案就是\(\prod\limits_{i=1}^{n}c_i\)

代碼實現如下

import java.util.*; import java.math.*;public class Main {static int cnt = 0;static Boolean v[] = new Boolean[1000007];static int p[] = new int[1000007];public static void init() {for(int i = 0; i <= 1000000; ++i) v[i] = false;for(int i = 2; i <= 1000000; ++i) {if(!v[i]) p[cnt++] = i;for(int j = 0; j < cnt && i * p[j] <= 1000000; ++j) {v[i*p[j]] = true;if(i % p[j] == 0) break;}}}public static int check(BigInteger k) {if (k.equals(BigInteger.ONE)) return 1;BigInteger a = BigInteger.valueOf((long)Math.sqrt(k.doubleValue()));if (k.equals(a.multiply(a))) return 2;a = a.add(BigInteger.ONE);if (k.equals(a.multiply(a))) return 2;BigInteger b = BigInteger.valueOf((long)Math.pow(k.doubleValue(), 1.0/3));if (k.equals(b.multiply(b.multiply(b)))) return 3;b = b.add(BigInteger.ONE);if (k.equals(b.multiply(b.multiply(b)))) return 3;return 1;}public static void main(String[] args) {init();Scanner sc = new Scanner(System.in);int t = sc.nextInt();BigInteger k[] = new BigInteger[5];while(t-- != 0) {for(int i = 0; i < 2; ++i) k[i] = sc.nextBigInteger();long ans[] = new long[5];for(int i = 0; i < 2; ++i) {ans[i] = 1L;for(int j = 0; j < cnt; ++j) {if(k[i].mod(BigInteger.valueOf(p[j])) == BigInteger.ZERO) {long num = 0;while(k[i].mod(BigInteger.valueOf(p[j])) == BigInteger.ZERO) {++num;k[i] = k[i].divide(BigInteger.valueOf(p[j]));}ans[i] *= num;}}}k[2] = k[0].gcd(k[1]);if(k[2].compareTo(BigInteger.valueOf(1000000)) > 0) {int x = check(k[2]);BigInteger g;if(x == 1) g = k[2];else if(x == 2) {BigInteger tmp = BigInteger.valueOf((long)Math.sqrt(k[2].doubleValue()));if(k[2].equals(tmp.multiply(tmp))) g = tmp;else g = tmp.add(BigInteger.ONE);} else {BigInteger tmp = BigInteger.valueOf((long)Math.pow(k[2].doubleValue(), 1.0/3));if(k[2].equals(tmp.multiply(tmp).multiply(tmp))) g = tmp;else g = tmp.add(BigInteger.ONE);}for(int i = 0; i < 2; ++i) {long num = 0;while(k[i].mod(g) == BigInteger.ZERO) {++num;k[i] = k[i].divide(g);}ans[i] *= num;if(k[i].compareTo(BigInteger.valueOf(1000000)) > 0) {ans[i] *= check(k[i]);}}}System.out.println(ans[0] + " " + ans[1]);}sc.close();} }

對象用\(=\)進行比較是否相等是看地址。

轉載于:https://www.cnblogs.com/Dillonh/p/11189802.html

創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的Good Numbers(HDU5447+唯一分解)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 欧州一区二区三区 | 韩日精品视频 | 亚洲精品国产成人av在线 | 亚洲一品道| 成人污在线 | 日韩在线第一区 | 色网av| 91禁国产网站 | 亚洲最大综合网 | 日本视频在线播放 | 欧美性受xxxx黑人猛交88 | 深夜小视频在线观看 | 在线观看日韩国产 | 深爱开心激情 | 欧美黑人添添高潮a片www | 男人插女人网站 | 日本xxxx裸体xxxx | 国产一区二区三区电影在线观看 | 亚洲天堂男人的天堂 | 色欲久久久天天天精品综合网 | 久久久精品中文字幕 | 亚洲图片综合区 | 国产日韩欧美在线观看视频 | 国产精品2区 | 致命弯道8在线观看免费高清完整 | 天天干天天搞天天射 | 国产一区亚洲一区 | 欧美国产精品一区二区三区 | 色八戒av| 免费毛片网| 日韩免费小视频 | 亚洲天堂成人在线 | 国产女同91疯狂高潮互磨 | 国产亚洲av片在线观看18女人 | 男人日女人的网站 | 国产成人无码久久久精品天美传媒 | 欧美午夜激情视频 | 亚洲av电影天堂男人的天堂 | 青青啪啪 | 青青草免费在线观看视频 | 久草热在线 | 日韩精品极品视频在线观看免费 | 欧美群交射精内射颜射潮喷 | 国产又爽又黄的激情精品视频 | 黄色69视频 | 国产女主播一区 | 亚洲春色www | 精品无码国产av一区二区三区 | 六月婷婷色 | 国产精品九色 | 欧美变态口味重另类在线视频 | 久久不射视频 | 国产婷婷色综合av蜜臀av | 视频国产精品 | 久久免费观看视频 | 99精品热视频 | 欧美另类精品xxxx孕妇 | 久久久久久久久99精品 | 亚洲网在线观看 | 亚洲精品在线观看免费 | 日日日噜噜噜 | 欧美 日韩 国产 成人 在线观看 | 日本爽爽爽爽爽爽在线观看免 | 亚洲欧洲成人在线 | 网站在线观看你懂的 | 国产欧美一区二区三区在线看蜜臂 | 一级片小视频 | 青青视频网| 亚洲欧美成人一区二区 | 人妻互换一二三区激情视频 | 男人手机天堂 | 99在线播放 | 久久特黄视频 | 国产精品嫩草久久久久 | 国产精九九网站漫画 | 性色av浪潮av| 日韩69视频| 日本黄页网站免费大全 | 一区久久久 | 久久久久亚洲国产 | 一级做a爱片性色毛片 | 国产精品美女久久久久图片 | 中文字幕在线视频一区二区三区 | 福利一区二区 | 插插看看 | 国产成人精品影院 | 久久久综合久久久 | jizz一区二区 | 日韩精品视频一区二区在线观看 | 日韩一二三级 | 久久精品欧美 | 操操操网站 | 欧美在线一二三区 | wwwwww色 | 野花视频在线观看免费 | 三级电影在线看 | 骚黄网站 | 成人手机在线视频 | 国产福利一区二区视频 |