欧拉函数 cojs 2181. 打表

cojs 2181. 打表

★☆   输入文件:sendtable.in   输出文件:sendtable.out   简单对比
时间限制:1 s   内存限制:256 MB

【题目描述】

 

有一道比赛题目,输入两个整数x,y(1≤x,y≤n),输出某个函数f(x,y)。有位选手想打表(即事先计算出所有的f(x,y),写在源代码里),但是表太大了,原代码超过了比赛的限制,需要精简。

好在那道题目有一个性质,使得很容易根据f(x,y)算出f(x*k,y*k)(其中k是正整数),这样有一些f(x,y)就不需要存在表里了。

输入n(n≤50000),你的任务是统计最简的表里有多少个元素。例如,n=2时有3个(1,1),(1,2),(2,1)。

 

【输入格式】

输入只有一行,一个整数n;

【输出格式】

输出也仅有一行,即表里元素的个数。

【样例输入】

2

【样例输出】

3
 1 /*题目的要求可以这样理解,假设x<y求出小于y的所有与y互质的数的个数,这就是欧拉函数的定义了,然后因为x,y可以互换,所以最终的结果就是
 2 小于等于n,大于等于2的所有的数的欧拉函数*2+1(+1是因为有(1,1)这个情况)
 3 */
 4 #define N 50011
 5 #include<iostream>
 6 using namespace std;
 7 #include<cstdio>
 8 int phi[N+10]={0};
 9 int n;
10 void get_phi()/*定义法求欧拉函数*/
11 {
12     phi[1]=1;
13     for(int i=2;i<=N;++i)
14     {
15         if(!phi[i])
16         {
17             for(int j=i;j<=N;j+=i)
18             {
19                 if(!phi[j])
20                   phi[j]=j;
21                 phi[j]=phi[j]/i*(i-1);/*注意这里一定要先除后乘,因为它的定义中就是这样先进行除法,再进行减法*/
22             }
23         }
24     }
25 }
26 int main()
27 {
28     freopen("sendtable.in","r",stdin);
29     freopen("sendtable.out","w",stdout);
30     get_phi();
31     scanf("%d",&n);
32     long long ans=0;
33     for(int i=2;i<=n;++i)
34       ans+=phi[i];
35     cout<<(ans*2+1)<<endl;
36     fclose(stdin);fclose(stdout);
37     return 0;
38 }

 

转载于:https://www.cnblogs.com/c1299401227/p/5553061.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/418433.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

前端学习(1963)vue之电商管理系统电商系统之控制级联选择框的选择范围

目录结构 router.js import Vue from vue import Router from vue-router import Login from ./components/Login.vue import Home from ./components/Home.vue import Welcome from ./components/Welcome.vue import Users from ./components/user/Users.vue import Right fr…

第二阶段冲刺站立会议09

昨天&#xff1a;给每个输出数据库的表格进行精确优化 今天&#xff1a;与组内成员共同对软件进行最终的优化 遇到的问题&#xff1a;无转载于:https://www.cnblogs.com/zuhaoran/p/5553498.html

Mysql之Innodb锁模式和死锁解析

https://www.jianshu.com/p/5ff440012494

前端学习(1964)vue之电商管理系统电商系统之渲染分类参数的tab页标签

目录结构 router.js import Vue from vue import Router from vue-router import Login from ./components/Login.vue import Home from ./components/Home.vue import Welcome from ./components/Welcome.vue import Users from ./components/user/Users.vue import Right fr…

Windows7+VS2012下OpenGL 4的环境配置

系统环境 Windows 7 Ultimate x64&#xff0c;Visual Studio Ultimate 2012 Update 4&#xff0c;和一块支持OpenGL 4.x的显卡。 准备工作 首先用GPU Caps Viewer检查机器最高支持的OpenGL及GLSL版本。比如我的机器可以支持OpenGL 4.5和GLSL 4.5&#xff1a; 下载GLEW和GLFW的源…

前端学习(1965)vue之电商管理系统电商系统之渲染添加参数的按钮

目录结构 router.js import Vue from vue import Router from vue-router import Login from ./components/Login.vue import Home from ./components/Home.vue import Welcome from ./components/Welcome.vue import Users from ./components/user/Users.vue import Right fr…

构建之法08

需求问题 然后就是用户场景分析&#xff0c;在没有听课或者看这本书之前呢这些我是完全想不到的&#xff0c;那时候脑子里只有一个简单的想法——把功能实现了不就得了&#xff0c;哪有那摸多的麻烦事啊&#xff01;真的是和书上说的一样的那种人&#xff0c;但是看完书后发现是…

前端学习(1966)vue之电商管理系统电商系统之获取参数列表

目录结构 router.js import Vue from vue import Router from vue-router import Login from ./components/Login.vue import Home from ./components/Home.vue import Welcome from ./components/Welcome.vue import Users from ./components/user/Users.vue import Right fr…

【教训】rm -fr ./* 教训

昨晚犯了一个重大错误&#xff0c;运行了 rm -rf ./*本来是要删除一个不重要的目录的&#xff0c;结果在它的父目录下运行了上面命令&#xff0c;结果。。。都没了。。。 幸好数据库文件没有被删掉&#xff0c;数据还在&#xff0c;网站程序被删掉了&#xff0c;不久前有备份过…

在linux上安装与启动Elasticsearch

https://www.jianshu.com/p/975326e65f65

[修正] Berlin 10.1 支持 iPhone 4 (iOS v7.x)

原本在 Seattle 版本时&#xff0c;还能支持 iPhone 3GS (iOS v6.x), iPhone 4 (iOS v7.x)&#xff0c;到了 Berlin 已不支持了&#xff0c;在用户的抱怨下&#xff0c;只好自己尝试去修正它&#xff0c;经过一番努力&#xff0c;终于找到原来是 TNSLayoutConstraint 在搞鬼&am…

前端学习(1967)vue之电商管理系统电商系统之切换面板获取

目录结构 router.js import Vue from vue import Router from vue-router import Login from ./components/Login.vue import Home from ./components/Home.vue import Welcome from ./components/Welcome.vue import Users from ./components/user/Users.vue import Right fr…

Linux 退出vi编辑模式

https://www.cnblogs.com/cheneyboon/p/11454547.html

Python学习笔记——基础篇【第七周】———FTP作业(面向对象编程进阶 Socket编程基础)...

FTP作业 本节内容&#xff1a; 面向对象高级语法部分Socket开发基础作业&#xff1a;开发一个支持多用户在线的FTP程序面向对象高级语法部分 参考&#xff1a;http://www.cnblogs.com/wupeiqi/p/4766801.html metaclass 详解文章&#xff1a;http://stackoverflow.com/questio…

spring boot集成oss

https://my.oschina.net/u/3677987/blog/4309412

前端学习(1968)vue之电商管理系统电商系统之将不同的参数挂载到数据源上

目录结构 router.js import Vue from vue import Router from vue-router import Login from ./components/Login.vue import Home from ./components/Home.vue import Welcome from ./components/Welcome.vue import Users from ./components/user/Users.vue import Right fr…

在云服务器搭建WordPress博客(六)发布和管理文章

<(&#xffe3;︶&#xffe3;)↗[GO!] 发布文章是一个网站后台最重要的功能之一&#xff0c;WordPress的文章发布功能是比较强大的&#xff0c;系统简单地介绍一下。 访问后台 – 文章 – 写文章 &#xff0c;就可以看到如下图所示的界面&#xff1a; 一、编辑区 1.标题 –…

前端学习(1969)vue之电商管理系统电商系统之渲染动态参数和静态参数的表格

目录结构 router.js import Vue from vue import Router from vue-router import Login from ./components/Login.vue import Home from ./components/Home.vue import Welcome from ./components/Welcome.vue import Users from ./components/user/Users.vue import Right fr…

cron 在线生成

https://cron.qqe2.com/