買不到的數目

方法一:天然數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

相關文章
相關標籤/搜索