方法一:天然數a,b互質,則不能表示成ax+by(x,y爲非負整數)的最大整數是ab-a-b. java
證實:
a或者b是1的狀況下容易證實.
如下狀況都是a>1且b>1的狀況.
首先證實ab-a-b不能表示成ax+by
假設ab-a-b=ax+by,那麼ab=am+bn (m,n都大於等於1)
左邊是a的倍數,右邊am是a的倍數,那麼要求bn也要是a的倍數
b不是a的倍數,只能要求n是a的倍數,這樣的話,bn=bn’a>=ba
那麼am=ab-bn<=0就與am>1矛盾.sql
(方法一沒有想到)
方法二就是暴力,從最小公倍數暴力!spa
import java.sql.Date; import java.util.*; public class Main1 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); int m = sc.nextInt(); int w = m*n; int count=0; int flag=1; long start = System.currentTimeMillis(); while(w-->0){ count=0; for(int i=0;i<m;i++){ if(flag==0) { flag=1;break; } for(int j=0;j<n;j++){ if(i*n+j*m==w) { flag=0; break; } count++; } } if(count==m*n){ System.out.println(w); break; } } long end = System.currentTimeMillis(); System.out.println(end-start); } }
參考博客:https://blog.csdn.net/bear_huangzhen/article/details/78496671 .net