1007 dada的GCD,输入格式描述有误,已修正

dada的GCD

Time Limit : 3000/1000ms (Java/Other)   Memory Limit : 65535/32768K (Java/Other)
Total Submission(s) : 36   Accepted Submission(s) : 8

Font: Times New Roman | Verdana | Georgia

Font Size: ← →

Problem Description

C语言都学过了怎么计算两个数的最大公约数,而一段区间[L,R]的GCD即这段区间所有数的最大公约数。现在给你一串长度为n的序列,如果对于序列的任意子区间[L,R],都有这段区间的gcd>=2,那么这段序列就叫做dada的GCD序列。
n<=10^4
序列的每个数小于10^9

Input

第一行有一个整数t,代表t组数据
每组输入有一个正整数n,
随后一行n个正整数。

大量输入,使用cin的同学请关闭stdio同步

Output

如果是dada的GCD序列,就输出Yes,反之输出No

Sample Input

2
3
2 6 4
3
4 6 9

Sample Output

Yes
No

Author

Luke叶

Source

jxnu 
思路:每次都求验证是否最大公约数是否大于等于2,如果是,输出"Yes",否则输出“No” 
这题数据很水,暴力可以过的。
我当时觉得用gcd是不是会爆内存。于是选择暴力了。
暴力代码:
 1 #include<iostream>
2 #include<stdio.h>
3 #include<string.h>
4 #include<algorithm>
5 using namespace std;
6 int a[100050];
7 int s[1005];
8 bool su(int x){
9 if(x%2==0) return false;
10 else {
11 for(int i=3;i*i<=x;i=i+2){
12 if(x%i==0) return false;
13 }
14 return true;
15 }
16 }
17 int main()
18 {
19 int T;
20 s[0]=2;
21 int t=1;
22 for(int i=3;t<1003;i++)
23 if(su(i)){
24 s[t]=i;
25 t++;
26 }
27 cin>>T;
28 while(T--)
29 {
30 int n;
31 scanf("%d",&n);
32 memset(a,0,sizeof(a));
33 for(int i=0;i<n;i++)
34 scanf("%d",&a[i]);
35 bool flag=false;
36 for(int i=0;i<t;i++)
37 {
38 int sum=0;
39 for(int j=0;j<n;j++){
40 if(a[j]%s[i]==0){
41 sum++;
42 }
43 }
44 if(sum==n){
45 flag=true;
46 break;
47 }
48 }
49 if(flag) cout<<"Yes"<<endl;
50 else cout<<"No"<<endl;
51 }
52 return 0;
53 }

正版AC代码:

 1 #include<iostream>
2 #include<stdio.h>
3 using namespace std;
4 int a[10005];
5 int gcd(int a,int b)
6 {
7 if(a==0) return b;
8 else{
9 return gcd(b%a,a);
10 }
11 }
12 int main()
13 {
14 int T;
15 cin>>T;
16 while(T--){
17 int n;
18 cin>>n;
19 for(int i=0;i<n;i++){
20 scanf("%d",&a[i]);
21 }
22 if(n==1){
23 if(a[0]>=2) cout<<"Yes"<<endl;
24 else cout<<"No"<<endl;
25 }else{
26 int ans=gcd(a[0],a[1]);
27 bool flag=true;
28 for(int i=2;i<n;i++){
29 ans=gcd(ans,a[i]);
30 if(ans<2){
31 flag=false;
32 break;
33 }
34 }
35 if(flag) cout<<"Yes"<<endl;
36 else cout<<"No"<<endl;
37 }
38 }
39 return 0;
40 }

dada的GCD ( jxnu acm新生选拔赛)的更多相关文章

  1. JXNU 新生选拔赛

    1001 最小的数 Problem Description 定义一种正整数集合K,集合中有N个数,集合中元素Ki(1<=i<=N)是包含i个不同质因子的最小的数.因为Ki可能会很大,所以将 ...

  2. 2019 年「计算机科学与工程学院」新生赛 暨ACM集训队选拔赛 # 1

    T1 请问这还是纸牌游戏吗 https://scut.online/p/567 这道题正解据说是方根 这里先放着等以后填坑吧qwq 但是由于这道题数据是随机的 所以其实是有各种水法的(但是我比赛根本没 ...

  3. 2018 ACM 网络选拔赛 青岛赛区

    一些题目的代码被网站吞了…… Problem B. Red Black Tree http://acm.zju.edu.cn/onlinejudge/searchProblem.do?contestI ...

  4. GCD XOR, ACM/ICPC Dhaka 2013, UVa12716

    不同的枚举方法,效率完全不同.值得记录一下! #include <cstdio> #include <cstring> , count = ; ]; void pre() { ...

  5. 2018 ACM 网络选拔赛 北京赛区

    A Saving Tang Monk II #include <bits/stdc++.h> using namespace std; ; struct node { int x,y,z, ...

  6. 2018 ACM 网络选拔赛 徐州赛区

    A. Hard to prepare #include <cstdio> #include <cstdlib> #include <cmath> #include ...

  7. 2018 ACM 网络选拔赛 焦作赛区

    A. Magic Mirror #include <cstdio> #include <cstdlib> #include <cmath> #include < ...

  8. 2018 ACM 网络选拔赛 沈阳赛区

    B. Call of Accepted #include <cstdio> #include <cstdlib> #include <cmath> #include ...

  9. 2018 ACM 网络选拔赛 南京赛区

    A. An Olympian Math Problem #include <cstdio> #include <cstdlib> #include <cmath> ...

  10. 2019年华南理工大学软件学院ACM集训队选拔赛 Round1

    TIps: 1.所有代码中博主使用了scanf和printf作为输入输出  2.代码中使用了define LL long long 所以在声明变量的时候 LL其实就等价于long long 希望这两点 ...

随机推荐

  1. ATtiny88初体验(六):SPI

    ATtiny88初体验(六):SPI SPI介绍 ATtiny88自带SPI模块,可以实现数据的全双工三线同步传输.它支持主从两种模式,可以配置为LSB或者MSB优先传输,有7种可编程速率,支持从空闲 ...

  2. springboot3框架搭建

    Spring Boot 3.0.0已经发布一段时间了,越来越多的公司考虑将技术框架升级到最新版本,JDK也相应要求JDK17以上.对应Spring Boot 2.x的版本,建议先升级到Spring B ...

  3. C#结合OpenCVSharp4使用直方图算法比较图片相似度

    C#结合OpenCVSharp4使用直方图算法比较图片相似度 直方图有灰度直方图.颜色直方图,如果是灰度图像,那么就用灰度直方图,这里使用颜色直方图来计算两个图片的相似度. 这里只记录如何使用,至于算 ...

  4. Matplotlib(一)

    Matplotlib(一) Matplotlib库的介绍 Matplotlib库的使用 Matplotlib库由各种可视化类构成,内部结构复杂,受Matlab启发matplotlib.pyplot是绘 ...

  5. HTML一键打包IPA(苹果IOS应用)工具 网站打包 APP

    工具简介 HTML一键打包IPA(苹果应用)工具可以把本地HTML项目或者网站打包为一个苹果应用IPA文件,无需编写任何代码,支持在苹果设备上安装运行. 该软件已经被GDB苹果网页一键打包工具取代,详 ...

  6. 提高 MySQL查询效率的方法

    当涉及到提高MySQL查询效率时,以下是一些重要的策略和技巧,可以帮助你优化数据库性能.无论你是一个Web开发者.数据工程师还是系统管理员,这些方法都可以帮助你确保你的MySQL数据库运行得更快.更有 ...

  7. C#集成ViewFaceCore人脸检测识别库

    前言 人脸检测与识别现在已经很成熟了,C# 上有 ViewFaceCore 这个很方便的库,但这种涉及到 native 调用的库,一般会有一些坑,本文记录一下开发和部署的过程. 本文的项目是 AIHu ...

  8. 《机器人SLAM导航核心技术与实战》第1季:第6章_机器人底盘

    <机器人SLAM导航核心技术与实战>第1季:第6章_机器人底盘 视频讲解 [第1季]6.第6章_机器人底盘-视频讲解 [第1季]6.1.第6章_机器人底盘_底盘运动学模型-视频讲解 [第1 ...

  9. c语言代码练习9

    \\判断1000-2000之间的闰年有哪些,有几个 #define _CRT_SECURE_NO_WARNINGS 1#include <stdio.h> int main(){ //判断 ...

  10. 安装OpenStack的yum源

    # yum install https://buildlogs.centos.org/centos/7/cloud/x86_64/openstack-liberty/centos-release-op ...