题解:素数筛+唯一分解定理

可以把素数筛那部分放到while之外,减小时间复杂度。

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <stdbool.h>
#include <assert.h> const int maxn = 110000005;
const int mod = 100000007;
const int N = 60000008;
int prime[N];
bool vis[maxn];
int main()
{
int n;
while(~scanf("%d",&n)){
assert(1 <= n && n <= 100000000);
long long ans = 1;
int cnt=0;
memset(vis,false, sizeof(vis));
for (int i = 2; i <= n; i++)
{
if (!vis[i])
{
prime[cnt++] = i;
for (long long j = i; j <= n; j *= i)
{
ans = ans * i % mod;
}
}
for (int j = 0; j < cnt; j++)
{
long long x = i * prime[j];
if (x > n)break;
vis[x] = true;
if (i%prime[j] == 0)break;
}
}
printf("%lld\n",ans);
}
return 0;
}

K Simple question (第十届山东理工大学ACM网络编程擂台赛 正式赛)的更多相关文章

  1. F 阎小罗的Minimax (第十届山东理工大学ACM网络编程擂台赛 正式赛 )

    题解:by Mercury_Lc 阎小罗的矩阵给的n和m都不超过300,枚举一下所有情况就可以了,用前缀和来储存.数组a[x][y]代表前x行前y列的和是多少,那么枚举每一种切割的方式就可以.注意一下 ...

  2. 山东理工大学ACM平台题答案关于C语言 1137 C/C++经典程序训练7---求某个范围内的所有素数

    C/C++经典程序训练7---求某个范围内的所有素数 Time Limit: 1000ms   Memory limit: 65536K  有疑问?点这里^_^ 题目描述 求小于n的所有素数,按照每行 ...

  3. 山东理工大学ACM平台题答案关于C语言 1181 C语言实验——最小公倍数和最大公约数

    C语言实验——最小公倍数和最大公约数 Time Limit: 1000ms   Memory limit: 65536K  有疑问?点这里^_^ 题目描述 从键盘输入两个正整数,求这两个正整数的最小公 ...

  4. 山东理工大学ACM平台题答案关于C语言 1580 闰年

    闰年 Time Limit: 1000ms   Memory limit: 32768K  有疑问?点这里^_^ 题目描述 时间过得真快啊,又要过年了,同时,我们的人生也增长了一年的阅历,又成熟了一些 ...

  5. 山东理工大学ACM平台题答案关于C语言 1543 Egypt

    Egypt Time Limit: 1000ms   Memory limit: 65536K  有疑问?点这里^_^ 题目描述   A long time ago, the Egyptians fi ...

  6. 『NYIST』第九届河南省ACM竞赛队伍选拔赛[正式赛二]--Codeforces -35D. Animals

    D. Animals time limit per test 2 seconds memory limit per test 64 megabytes input input.txt output o ...

  7. 第十二章:Python の 网络编程进阶(一)

    本課主題 RabbitMQ 的介紹和操作 Hello RabbitMQ RabbitMQ 的工作队列 消息确应.消息持久化和公平调度模式 RabbitMQ的发布和订阅 RabbitMQ的主题模式 Ra ...

  8. Android学习之基础知识十二 — 第二讲:网络编程的最佳实践

    上一讲已经掌握了HttpURLConnection和OkHttp的用法,知道如何发起HTTP请求,以及解析服务器返回的数据,但是也许你还没发现,之前我们的写法其实是很有问题的,因为一个应用程序很可能会 ...

  9. 【linux高级程序设计】(第十五章)UDP网络编程应用 5

    域名与IP信息解析 /etc/hosts 文件中有部分IP地址与域名主机名的信息 /etc/resolv.conf 里面有DNS服务器的IP地址 struct hostent { char *h_na ...

随机推荐

  1. Python遗传和进化算法框架(一)Geatpy快速入门

    https://blog.csdn.net/qq_33353186/article/details/82014986 Geatpy是一个高性能的Python遗传算法库以及开放式进化算法框架,由华南理工 ...

  2. python入门-windows下python环境搭建

    1. 下载安装包 选择executable版,根据自己电脑的操作系统选择是32位还是64为. python3.6-64位下载 python3.6-32位下载 2. 安装python 下载之后是这样的 ...

  3. js数组转对象

    var obj = {}; var arr = [1,2,3,4,5]; for (var x in arr){ obj[x] = x; } 2.ES6的Object.assign: Object.a ...

  4. Eclipse-错误集

    1.The origin server did not find a current representation for the target resource or is not willing ...

  5. Xshell 上传文件到Ubuntu

    打开Xshell,连上一台Linux服务器或者是虚拟机 如果要方便的上传文件,需要rz 先测试是否安装rz 命令行~$ rz 如果出现未安装(或者command not found)且建议sudo a ...

  6. Hive数据库操作

    Hive数据结构 除了基本数据类型(与java类似),hive支持三种集合类型 Hive集合类型数据 array.map.structs hive (default)> create table ...

  7. Android笔记(二十七) Android中的动态广播和静态广播

    广播接收器注册一共有两种形式 : 静态注册和动态注册. 两者及其接收广播的区别: 1.动态注册的广播 永远要快于 静态注册的广播,不管静态注册的优先级设置的多高,不管动态注册的优先级有多低>\ ...

  8. Linux之Vim的使用

    所有的 Unix Like 系统都会内建 vi 文书编辑器,其他的文书编辑器则不一定会存在. 但是目前我们使用比较多的是 vim 编辑器. vim 具有程序编辑的能力,可以主动的以字体颜色辨别语法的正 ...

  9. Linux命令——uptime

    参考:linux中uptime命令查看linux系统负载 Linux uptime command 简介 uptim告诉你系统运行了多长时间.uptime命令提供单行显示的输出,包含如下信息: 当前时 ...

  10. 【OF框架】配置信息Config添加配置和代码调用api

    一.配置规范 配置信息全部写在OF.WebShell项目文件config.json中 配置键使用OF.开头,配置格式如下: { "OF.IgnoredUrl": "log ...