• 17110 Divisible(basic)


    17110 Divisible

    时间限制:1000MS  内存限制:65535K

    题型: 编程题   语言: 无限制

    Description

    Given n + m integers, I1,I2,...,In,T1,T2,...,Tm, we want to know whether (I1*I2*...*In)%(T1*T2*...*Tm)= =0.

    输入格式

    The first line gives two integers n and m. 1<=n,m<=100

    The second line gives n integers I1 I2 ... In.

    The third line gives m integers T1 T2 ... Tn.

    1<=Ii, Ti<=231

    输出格式

    Satisfy (I1*I2*...*In)%(T1*T2*...*Tm)= =0, output "yes", otherwise output "no"

    输入样例

    2 3
    24 14
    2 7 3
    

    输出样例

    yes

     1 #include <iostream>
     2 #include <cstdio>
     3 using namespace std;
     4 typedef long long ll;
     5 ll I[110],T[110];
     6 
     7 ll gcd(ll a,ll b)
     8 {
     9     return b==0?a:gcd(b,a%b);
    10 }
    11 
    12 int main()
    13 {
    14     int n, m;
    15     cin>>n>>m;
    16     for(int i = 0; i < n; ++i) {
    17         cin>>I[i];
    18     }
    19     for(int i = 0; i < m; ++i) {
    20         cin>>T[i];
    21     }
    22 
    23     int i;
    24     for(i = 0;i < m ; i++){
    25         for(int j = 0; j < n && T[i] != 1; j++){
    26             if(I[i]==1) continue;
    27             ll g=gcd(I[j],T[i]);
    28             I[j] /= g;
    29             T[i] /= g;
    30         }
    31         if(T[i] != 1) break;//发现一个T[i]不能被I[0]*I[1]*…*I[n]整除,则跳出循环输出no
    32     }
    33     if(i < m) cout<<"no";
    34     else cout<<"yes";
    35     return 0;
    36 }
    View Code
  • 相关阅读:
    栈实现队列
    朋友圈的数量
    岛屿的数量
    岛屿的最大面积
    单词最短路径
    矩阵中查找单词
    拨号问题
    CDN原理
    TCP建立连接的三次握手过程
    JavaScript手写几种常见的排序算法:冒泡、选择、插入、希尔、归并、快排
  • 原文地址:https://www.cnblogs.com/zyx1314/p/3553049.html
Copyright © 2020-2023  润新知