51nod 1179 最大的最大公约数 (打表计数法)
题目:

考虑清楚就简单了,我们把每个数的因子计数。
两个数的公约数就是计数超过2的数,然后找到最大的那个就好了。
计算每个数的素因子,记得sqrt(),不然会超时。
打表计数法时间复杂度O(n*sqrt(n))。
代码:
#include <iostream>
#include <algorithm>
#include <map>
#include <vector>
#include <set>
#include <math.h>
#include <queue>
#include <assert.h>
#include <stdio.h>
#include <stdlib.h>
#include <string>
using namespace std;
typedef long long ll;
#define INF 2147483647 int n;
int a[]; int main(){
cin >> n;
int key;
int ans = ;
while(n--){
cin >> key;
int p = sqrt(key);
for(int i = ;i <= p; i++){
if(key%i == ){
a[i]++;
a[key/i]++;
// cout << i << endl;
}
}
}
for(int i = ;i <= ; i++){
if(a[i] >= ){
ans = i;
}
}
cout << ans << endl;
return ;
}
51nod 1179 最大的最大公约数 (打表计数法)的更多相关文章
- 51nod 1179 最大的最大公约数
1179 最大的最大公约数 题目来源: SGU 基准时间限制:1 秒 空间限制:131072 KB 分值: 40 难度:4级算法题 给出N个正整数,找出N个数两两之间最大公约数的最大值.例如:N = ...
- 51NOD 1179 最大的最大公约数 筛法
1179 最大的最大公约数 题目连接: https://www.51nod.com/onlineJudge/questionCode.html#!problemId=1179 Description ...
- 51nod 1179 最大的最大公约数 一种筛选的方法
1179 最大的最大公约数 题目来源: SGU 基准时间限制:1 秒 空间限制:131072 KB 分值: 40 难度:4级算法题 收藏 关注 给出N个正整数,找出N个数两两之间最大公约数的最大值 ...
- 51Nod 1179 最大的最大公约数(暴力大法好)
#include <iostream> #include <cstdio> #include <cstring> using namespace std; ; in ...
- 51nod - 1179 - 最大的最大公约数 - 枚举
因为 \(\sum\limits_{i=1}^{n}\lfloor\frac{n}{i}\rfloor=O(nlogn)\) 所以直接暴力就可以了. #include<bits/stdc++.h ...
- 51nod 1179:最大的最大公约数
1179 最大的最大公约数 题目来源: SGU 基准时间限制:1 秒 空间限制:131072 KB 分值: 40 难度:4级算法题 收藏 关注 给出N个正整数,找出N个数两两之间最大公约数的最大值 ...
- laravel 表单方法伪造
有时候,我们可能需要手动定义发送表单数据所使用的 HTTP 请求方式,而 HTML 表单仅支持 GET 和 POST 两种方式,如果要使用其他的方式,则需要自己来定义实现. HTTP 请求方式概述 最 ...
- 51Nod - 1179
给出N个正整数,找出N个数两两之间最大公约数的最大值.例如:N = 4,4个数为:9 15 25 16,两两之间最大公约数的最大值是15同25的最大公约数5. Input第1行:一个数N,表示输入 ...
- 解决HTML导出Excel表数字变成科学计数法
- js 中导出excel 较长数字串会变成科学计数法 在做项目中,碰到如题的问题.比如要将居民的信息导出到excel中,居民的身份证号码因为长度过长(大于10位),excel会自动的将过长的数字串转 ...
随机推荐
- RocketMQ学习笔记(10)----RocketMQ的Producer 事务消息使用
1. 事务消息原理图 RocketMQ除了支持普通消息,顺序消息之外,还支持了事务消息. 1. 什么是分布式事务? 分布式事务就是指事务的参与者.支持事务的服务器.资源服务器以及事务管理器分别位于不同 ...
- Pyhton学习——Day37
# HTML# import socket## def main():# sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)# sock. ...
- MySQL 关闭 binlog 日志
[关闭binlog日志] 1.vim /etc/my.cnf 注释如下内容: #log-bin=mysql-bin #binlog_format=mixed #server-id = 1 #expir ...
- IOS - [UIDevice currentDevice] name/model/localizedMode/systemName/systemVersion...../userInterfaceIdiom
+ (UIDevice *)currentDevice; @property(nonatomic,readonly,retain) NSString *name; // ...
- d3基础图形模板笔记
散点图(scatter plot): http://bl.ocks.org/weiglemc/6185069 雷达图(radar): http://xgfe.github.io/uploads/che ...
- WIN10 java环境变量问题之 配置的JDK1.8版本却是1.7
问题前沿,在开发项目中,发布的项目出现了内存溢出问题,我挨个把代码看了一遍,并不能准确定位到那个地方能出现内存溢出问题,后来想到使用压力测试,较可能出现内存溢出的接口进行一番测试. 我就安装了一个ap ...
- vue 删除某个元素和删除某些元素
今天做项目使用前端vue框架,需要循环遍历去删除一些数组元素.开始思想局限,一直纠结如何去循环删除,犹豫循环删除数组值下标会发生变化,并不是一种好的方法. 方法一:使用forEach 和 splice ...
- V4L2驱动程序架构
1 V4L2简介 video4linux2(V4L2)是Linux内核中关于视频设备的内核驱动,它为Linux中视频设备访问提供了通用接口,在Linux系统中,V4L2驱动的Video设备节点路径通常 ...
- qt 透明化方法汇总
一. QT 透明设置 背景,标题栏透明,下级Widget,painter绘出来的(比如,drawtext,drawline)不透明 QWidget window; window.setWindowFl ...
- 华硕VX50V开机老是进入bios
问题:华硕VX50V开机老是进入bios 如图: 解决办法: 1.将 Boot 中的--->> Lunch CSM ---->>设置为 -->> ena ...