买不到的数目

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

相关文章
相关标签/搜索