九度 1493:公約數
題目描述:
給定兩個正整數a,b(1<=a,b<=100000000),計算他們公約數的個數。
如給定正整數8和16,他們的公約數有:1、2、4、8,所以輸出為4。
輸入:
輸入包含多組測試數據,每組測試數據一行,包含兩個整數a,b。
輸出:
對於每組測試數據,輸出為一個整數,表示a和b的公約數個數。
樣例輸入:
8 16
22 16
樣例輸出:
4
2
來源:
2013年王道論壇計算機考研機試全真模擬考試
#include<stdio.h> int swap(int &a,int &b) { int t; t=a; a=b; b=t; } int main() { int i,n,m,sum,num1,num2; while(~scanf("%d %d",&n,&m)) { if(n>m) swap(n,m); sum=0; for(i=1;i*i<=n;i++)//隻按裏麵比較小的數對半求 { if(n%i==0) { num1=i; num2=n/i; if(num1!=num2) { if(m%num1==0&&n%num1==0) sum++; if(m%num2==0&&n%num2==0) sum++; } else { if(m%num1==0&&n%num1==0) sum++; } } } printf("%d\n",sum); } return 0; }
最後更新:2017-04-03 12:55:21
上一篇:
linux下vi命令大全
下一篇:
2013藍橋杯【初賽試題】第39階台階
最新阿裏雲幸運券、阿裏雲推薦碼、阿裏雲邀請都是幹啥的呢?
擴展UltraGrid控件實現對所有數據行的全選功能[Source Code下載]
Ajax方法總結
C# 方法參數 ref 詳述
為什麼數據分析進行的預測不夠成功
根據innodb_trx、innodb_locks、innodb_lock_waits得到詳細的鎖信息
System.Runtime.InteropServices.COMException (0x8004E00F): COM+ 無法與 Microsoft 分布式事務協調程序交談 (異常來自 HRESU
基於VPC網絡的六大場景及解決方案
Android下阻止係統掃描SD卡上的媒體圖像文件
數據庫中創建索引的準則