《P1072 [NOIP 2009 提高組] Hankson 的趣味題》

題目描述

Hanks 博士是 BT(Bio-Tech,生物技術) 領域的知名專家,他的兒子名叫 Hankson。現在,剛剛放學回家的 Hankson 正在思考一個有趣的問題。

今天在課堂上,老師講解了如何求兩個正整數?c1??和?c2??的最大公約數和最小公倍數。現在 Hankson 認為自己已經熟練地掌握了這些知識,他開始思考一個“求公約數”和“求公倍數”之類問題的“逆問題”,這個問題是這樣的:已知正整數?a0?,a1?,b0?,b1?,設某未知正整數?x?滿足:

  1. x?和?a0??的最大公約數是?a1?;

  2. x?和?b0??的最小公倍數是?b1?。

Hankson 的“逆問題”就是求出滿足條件的正整數?x。但稍加思索之后,他發現這樣的?x?并不唯一,甚至可能不存在。因此他轉而開始考慮如何求解滿足條件的?x?的個數。請你幫助他編程求解這個問題。

輸入格式

第一行為一個正整數?n,表示有?n?組輸入數據。接下來的n?行每行一組輸入數據,為四個正整數?a0?,a1?,b0?,b1?,每兩個整數之間用一個空格隔開。輸入數據保證?a0??能被?a1??整除,b1??能被?b0??整除。

輸出格式

共?n?行。每組輸入數據的輸出結果占一行,為一個整數。

對于每組數據:若不存在這樣的?x,請輸出?0,若存在這樣的?x,請輸出滿足條件的?x?的個數;

輸入輸出樣例

輸入 #1復制

2 
41 1 96 288 
95 1 37 1776 

輸出 #1復制

6 
2

說明/提示

【樣例解釋】

第一組輸入數據,x?可以是?9,18,36,72,144,288,共有?6?個。

第二組輸入數據,x?可以是?48,1776,共有?2?個。

【數據范圍】

  • 對于?50%?的數據,保證有?1≤a0?,a1?,b0?,b1?≤10000?且?n≤100。
  • 對于?100%?的數據,保證有?1≤a0?,a1?,b0?,b1?≤2×109?且?n≤2000。

NOIP 2009 提高組 第二題

代碼實現;

#include<iostream>
#include<cmath>
using namespace std;
int gongyue(int i,int a0)
{
?? ?int j,k=1;
?? ?for(j=1;j<=min(i,a0);j++)
?? ?{
?? ??? ?if(i%j==0 && a0%j==0)
?? ??? ?{
?? ??? ??? ?k=j;
?? ??? ?}
?? ?}
?? ?return k;
}
int gongbei(int i,int b0)
{
?? ?int j,k=1;
?? ?for(j=min(i,b0);j<=i*b0;j++)
?? ?{
?? ??? ?if(j%i==0 && j%b0==0)
?? ??? ?{
?? ??? ??? ?k=j;
?? ??? ??? ?break;
?? ??? ?}
?? ?}
?? ?return k;
}
int main()
{
?? ?int n,a0,a1,b0,b1;
?? ?int i,j,k;
?? ?cin>>n;
?? ?while(n--)
?? ?{ ? int count=0;
?? ??? ?cin>>a0>>a1>>b0>>b1;
?? ??? ?for(i=1;i*i<=b1;i++)
?? ??? ?{
?? ??? ??? ?if(b1%i==0)
?? ??? ??? ?{
?? ??? ??? ?if((gongyue(i,a0)==a1) && (gongbei(i,b0)==b1))
?? ??? ??? ?{
?? ??? ??? ??? ?count++;
?? ??? ??? ??? ?//cout<<i<<endl;
?? ??? ??? ?}
?? ??? ??? ?if(i!=b1/i)
?? ??? ??? ?{
?? ??? ??? ??? ?j=b1/i;
?? ??? ??? ??? ?if((gongyue(j,a0)==a1) && (gongbei(j,b0)==b1))
?? ??? ??? ?{
?? ??? ??? ??? ?count++;
?? ??? ??? ??? ?//cout<<i<<endl;
?? ??? ??? ?}
?? ??? ??? ??? ?
?? ??? ??? ? }?
?? ??? ? ? ?}
?? ??? ? ? ?
?? ??? ? ? ?
?? ??? ?}
?? ??? ?cout<<count<<endl;
?? ?}
?? ?return 0;
?}?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/75745.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/75745.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/75745.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

nginx的自動跳轉https

mkdir /usr/local/nginx/certs/ 創建一個目錄 然后用openssl生成證書 編輯nginx的配置文件 自動跳轉成功 做一個優化&#xff0c;如果訪問的時候后面加了其他的uri也一起自動跳轉了

力扣刷題——508.出現次數最多的子樹和

給你一個二叉樹的根結點 root &#xff0c;請返回出現次數最多的子樹元素和。如果有多個元素出現的次數相同&#xff0c;返回所有出現次數最多的子樹元素和&#xff08;不限順序&#xff09;。 一個結點的 「子樹元素和」 定義為以該結點為根的二叉樹上所有結點的元素之和&…

2025/4/2 心得

第一題 題目描述 給定1001個范圍在[1,1000]的數字&#xff0c;保證只有1個數字重復出現2次&#xff0c;其余數字只出現1次。試用O(n)時間復雜度來求出出現2次的這個數字。 不允許用數組 輸入格式 第一行&#xff1a;一個整數1001&#xff1b; 第二行&#xff1a;1001個用…

0基礎 | 硬件 | NE555芯片 二

目錄 “雙穩態電路之按鍵開關LED” 版本一&#xff1a; 版本二&#xff1a; “單穩態電路之延時自動關” 版本一 “無穩態電路之延時自動開關” 版本一&#xff1a; 版本二 “雙穩態電路之按鍵開關LED” 版本一&#xff1a; 按鍵1 使2腳輸入低電平&#xff0c;則3輸出…

Python實現鏈接KS3,并將文件數據上傳到KS3

前言 本文是該專欄的第55篇,后面會持續分享python的各種干貨知識,值得關注。 說到KS3,首先想到的是金山云提供的對象存儲服務。 相信或多或少的同學,在工作項目中也會遇到KS3相關的需求。比如說,現在有大批量的數據文件需要通過Python,上傳到KS3中。對此,需要怎么去做…

小白 解析thingsboard 規則鏈節點

目錄 1、filter(篩選器)節點內容 1. Alarm Status Filter(報警狀態過濾器) 2. Check Fields Presence(檢查字段存在性過濾器) 3. Check Relation Presence(檢查關系存在性過濾器) 4. Entity Type Filter(實體類型過濾器) 5. Message Type Filter(消息類型過濾器…

PgVectore的使用

PgVectore的使用 一、PgVector的安裝 參照博客&#xff1a;https://blog.csdn.net/u012953777/article/details/147013691?spm1001.2014.3001.5501 二、PgVector的使用 1、創建表與插入數據? ??定義向量字段??&#xff1a; CREATE TABLE items (id SERIAL PRIMARY …

python爬蟲爬取淘寶熱銷(熱門)男裝商品信息(課程設計;提供源碼、使用說明文檔及相關文檔;售后可聯系博主)

TOC 本文僅為記錄學習軌跡&#xff0c;如有侵權,聯系刪除 一、環境說明 使用前必須檢查以下環境 &#xff08;1&#xff09;python編譯環境 &#xff08;2&#xff09;python腳本執行所需要的庫&#xff0c;具體看代碼&#xff08;main.py&#xff09;import導入的部分庫 &a…

C++ 排序(1)

以下是一些插入排序的代碼 1.插入排序 1.直接插入排序 // 升序 // 最壞&#xff1a;O(N^2) 逆序 // 最好&#xff1a;O(N) 順序有序 void InsertSort(vector<int>& a, int n) {for (int i 1; i < n; i){int end i - 1;int tmp a[i];// 將tmp插入到[0,en…

計算機視覺圖像處理基礎系列:濾波、邊緣檢測與形態學操作

計算機視覺圖像處理基礎系列&#xff1a;濾波、邊緣檢測與形態學操作 一、前言二、濾波&#xff1a;圖像的精細化處理?2.1 濾波基礎概念?2.1.1 濾波的本質?2.1.2 圖像噪聲來源與類型? 2.2 線性濾波?2.2.1 均值濾波?2.2.2 高斯濾波? 2.3 非線性濾波?2.3.1 中值濾波? 三…

第八課:在SD中安裝拓展插件

3種拓展安裝方式教學 點擊Extensions安裝方式 經由內置列表查詢安裝&#xff0c;打開Available&#xff0c;輸入鏈接&#xff0c;點擊Load from:&#xff0c;然后篩選后點擊Install通過鏈接安裝&#xff0c;復制代碼倉庫地址&#xff0c;github/gitee&#xff0c;輸入Install …

tomcat的web三大組件Sciidea搭建web/maven的tomcat項目

文章目錄 1. web項目的搭建1. 創建web項目2.修改web.xml版本3.添加servlet、jsp依賴4.servlet示例&#xff08;使用注解&#xff09;5.配置tomcat6.添加artifact7.部署8.啟動tomcat、訪問9.打war包10.部署到tomcat 2.maven的項目搭建1.創建項目圖解 2.tomcat啟動方式圖解idea打…

ZKmall開源商城多云高可用架構方案:AWS/Azure/阿里云全棧實踐

隨著企業數字化轉型的加速&#xff0c;云計算服務已成為IT戰略中的核心部分。ZKmall開源商城作為一款高性能的開源商城系統&#xff0c;其在多云環境下的高可用架構方案備受關注。下面將結合AWS、Azure和阿里云三大主流云平臺&#xff0c;探討ZKmall的多云高可用架構全棧實踐。…

【代碼模板】如何用FILE操作符打開文件?fopen、fclose

#include "stdio.h" #include "unistd.h"int main(int argc, char *argv[]) {FILE *fp fopen("1.log", "wb");if (!fp) {perror("Failed open 1.log");return -1;}fclose(fp); }關于權限部分參考兄弟篇【代碼模板】C語言中…

Airflow+Spark/Flink vs. Kettle

在遷移億級&#xff08;單表超過1.3億&#xff09;結構化數據&#xff08;達夢→星環&#xff09;的場景下&#xff0c;Airflow&#xff08;結合分布式計算框架&#xff09;的綜合效果優于Kettle&#xff0c;以下是詳細對比與方案建議&#xff1a; 一、核心對比&#xff1a;Air…

多電機顯示并排序

多電機顯示并排序 要實現根據后端傳遞過來的驅動電機數據的數量來顯示不同數量的數據列表&#xff0c;我們可以使用 Vue 的 v-for 指令來遍歷 driveMotorData 數組&#xff0c;并為每個驅動電機生成一個數據列表。這樣&#xff0c;無論后端傳來多少個驅動電機的數據&#xff0…

圖漾相機——C#語言屬性設置

文章目錄 前言1.示例程序說明2.SDK API功能介紹2.1 ListDevice 枚舉設備2.2 Open 打開相機2.3 OpenDeviceByIP 通過IP打開設備2.4 Close 關閉設備2.5 DeviceStreamEnable 取流使能2.6 DeviceStreamFormatDump 取流分辨率2.7 DeviceStreamFormatConfig 取流分辨率配置2.8 Device…

thinkphp8.0上傳圖片到阿里云對象存儲(oss)

1、開通oss,并獲取accessKeyId、accessKeySecret <!DOCTYPE html> <html lang"zh-CN"> <head><meta charset"UTF-8" /><meta name"viewport" content"widthdevice-width, initial-scale1.0" /><tit…

跳躍連接(Skip Connection)與殘差連接(Residual Connection)

1. 跳躍連接&#xff08;Skip Connection&#xff09;的基本概念 跳躍連接是一種在深度神經網絡中廣泛應用的技術&#xff0c;它允許信息在網絡中跨層直接傳遞。在傳統的神經網絡里&#xff0c;每一層的輸出僅僅是前一層輸出經過特定變換后的結果。而在具備跳躍連接的網絡中&a…