zoukankan      html  css  js  c++  java
  • 哈理工OJ-1328 相等的最小公倍数

    题目描述
    定义 An 为 1,2,…,n 的最小公倍数,例如,A1=1,A2=2,A3=6,A4=12,5=60,A6=60。
    请你判断对于给出的任意整数 n,An 是否等于 An–1。如果 An 等于An-1则输出 YES 否则输出 NO。

    分析
    由最小公倍数的定义我们可以知道,如果 An=An-1 则 An-1 可以被 n 整除,首先,对于一个数 n 如果是素数,那么 An 不等于 An-1,其次,我们分析 n,如果对于小于 n 的每一对因子即 n=a*b(a<n 且 b<n),如果 a,b 不互素,那么 gcd(a,b)>1,则 lcm(a,b)=n/gcd(a,b)<n(lcm表示最小公倍数),那么很显然,如果 n 的每一对因子都是不互素的,则 n 不能整除 An-1,否则可以整除 An-1,因为 n 的因子肯定小于等于 n-1,所以其每一对因子的最小公倍数肯定可以整除 An-1,所以这道题就 0 变成了判断 n 是否有互素的一对因子,所以我们只要枚举 n的每一对因子,然后计算其最大公约数是否为 1,如果有一对互素的因子则输出 YES,否则输出 NO。

     1 #include <iostream>
     2 #include <stdio.h>
     3 #include<math.h>
     4 using namespace std;
     5 
     6 int gcd(int a,int b)//求最大公约数
     7 {
     8     if(a==0)
     9         return b;
    10     int c;
    11     while(b)
    12     {
    13         c=b;
    14         b=a%b;
    15         a=c;
    16     }
    17     return a;
    18 }
    19 int main()
    20 {
    21    int t;
    22     scanf("%d",&t);
    23     while(t--)
    24     {
    25         int n;
    26         scanf("%d",&n);
    27         if(n==2)
    28         {
    29             printf("NO
    ");continue;//特殊情况
    30         }
    31         int temp=sqrt(n),p,falg=0;
    32         for(int i=2;i<=temp;i++)//遍历所有的因子对
    33             if(n%i==0)
    34             {
    35                 p=n/i;
    36                 if(gcd(p,i)==1)//判断是否互质
    37                 {
    38                     falg=1;
    39                     break;
    40                 }
    41             }
    42 
    43         if(falg)
    44             printf("YES
    ");
    45         else
    46             printf("NO
    ");
    47     }
    48     return 0;
    49 }
    正解代码
  • 相关阅读:
    SAP PI 如何实现消息定义查询
    EWM与ERP交互程序
    ITS Mobile Template interpretation failed. Template does not exist
    SAP Material Flow System (MFS) 物料流系统简介
    SAP EWM Table list
    EWM RF 屏幕增强
    SAP EWM TCODE list
    SAP扩展仓库管理(SAPEWM)在线研讨会笔记
    ERP与EWM集成配置ERP端组织架构(二)
    EWM RF(Radio Frequency)简介
  • 原文地址:https://www.cnblogs.com/vivider/p/3650602.html
Copyright © 2011-2022 走看看