/*
构造 n个点的无向图,无重边自环
边数e也是质数
点的度数也是质数
*/
#include<bits/stdc++.h>
#include<vector>
using namespace std;
#define N 100005 int prime[N],m;
bool vis[N];
void init(){
for(int i=;i<N;i++){
if(!vis[i])prime[++m]=i;
for(int j=;j<=m;j++){
if(i*prime[j]>=N)break;
vis[i*prime[j]]=;
if(i%prime[j]==)break;
}
}
} int n;
vector<pair<int,int> >ans; int main(){
init();
cin>>n;
for(int i=;i<n;i++)
ans.push_back(make_pair(i,i+));
ans.push_back(make_pair(n,));
int u=,e=ans.size();
while(vis[e]){
ans.push_back(make_pair(u,n/+u));
++u;++e;
}
cout<<ans.size()<<"\n";
for(auto p:ans){
cout<<p.first<<" "<<p.second<<'\n';
}
}

最新文章

  1. sql server 里面的 dynamic Data Masking
  2. Spring中Ordered接口简介
  3. MVC认知路【点点滴滴支离破碎】【二】----Razor服务器标记语言
  4. Java从零开始学四十四(多线程)
  5. 去除DedeCms 5.7后台版权广告链接的方法
  6. jQuery学习笔记:attr()与prop()的区别
  7. Android开发 |常见的内存泄漏问题及解决办法
  8. CodeForces_#354_Div.2_2016.5.25(A+B+C)
  9. H3CNE实验:配置VLAN和VLAN端口
  10. 2141:2333(zznuoj)
  11. redis--解析字符串
  12. 有趣的JavaScript隐式类型转换
  13. rabbitmq初学之连接测试
  14. vuejs深入浅出—基础篇
  15. C# 读取Excel和DBF文件
  16. 阿里云服务器(windows)配置项目域名
  17. 记录 ThinkPHP 5.* 漏洞修复后的情况
  18. require() 方法讲解
  19. selenium安装方式
  20. 使用POI解析Excel时,出现org.xml.sax.SAXParseException: duplicate attribute &#39;o:relid&#39;的解决办法

热门文章

  1. mysql的安裝
  2. Linux Bash Shell快速入门(一)
  3. BZOJ 1778: [Usaco2010 Hol]Dotp 驱逐猪猡(高斯消元+期望dp)
  4. ZROI week6
  5. 再次安装双linux系统及kali的grub修复!
  6. System.IO.Path 文件名、路径、扩展名处理
  7. php中的list()
  8. Codeforces 578B &quot;Or&quot; Game (前缀和 + 贪心)
  9. upc组队赛6 Canonical Coin Systems【完全背包+贪心】
  10. FrameWork内核解析之XMS内核管理(一)上篇