欢迎访问 生活随笔!

尊龙游戏旗舰厅官网

当前位置: 尊龙游戏旗舰厅官网 > > 编程问答 >内容正文

编程问答

洛谷p2158 [sdoi2008]仪仗队 -尊龙游戏旗舰厅官网

发布时间:2025/1/21 编程问答 5 豆豆
尊龙游戏旗舰厅官网 收集整理的这篇文章主要介绍了 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

 

题目描述

作为体育委员,c君负责这次运动会仪仗队的训练。仪仗队是由学生组成的n * n的方阵,为了保证队伍在行进中整齐划一,c君会跟在仪仗队的左后方,根据其视线所及的学生人数来判断队伍是否整齐(如下图)。 现在,c君希望你告诉他队伍整齐时能看到的学生人数。

输入输出格式

输入格式:

 

共一个数n

 

输出格式:

 

共一个数,即c君应看到的学生人数。

 

输入输出样例

输入样例#1:
4 输出样例#1:
9

说明

【数据规模和约定】

对于 100% 的数据,1 ≤ n ≤ 40000

 

http://www.cnblogs.com/silvernebula/p/5894679.html

和上面这道题一个样。

求(n-1)(n-1)矩阵内的互质坐标个数。

1 /*by silvern*/ 2 #include 3 #include 4 #include 5 #include 6 #include 7 using namespace std; 8 const int mxn=40010; 9 int read(){ 10 int x=0,f=1;char ch=getchar(); 11 while(ch<'0' || ch>'9'){if(ch=='-')f=-1;ch=getchar();} 12 while(ch>='0' && ch<='9'){x=x*10 ch-'0';ch=getchar();} 13 return x*f; 14 } 15 int phi[mxn]; 16 int pri[mxn],cnt=0; 17 bool vis[mxn]; 18 int n; 19 int sum[mxn]; 20 void euler(){ 21 phi[1]=1; 22 int i,j; 23 for(i=2;i){ 24 if(!vis[i]){ 25 vis[i]=1;pri[ cnt]=i;phi[i]=i-1; 26 } 27 for(j=1;j<=cnt && i*pri[j]){ 28 vis[i*pri[j]]=1; 29 if(i%pri[j]==0){phi[i*pri[j]]=phi[i]*pri[j];break;} 30 else phi[i*pri[j]]=phi[i]*(pri[j]-1); 31 } 32 } 33 for(i=1;i) 34 sum[i] =sum[i-1] phi[i]; 35 return; 36 } 37 int main(){ 38 euler(); 39 n=read(); 40 printf("%d\n",sum[n-1]*2 1); 41 return 0; 42 }

 

转载于:https://www.cnblogs.com/silvernebula/p/5896926.html

总结

以上是尊龙游戏旗舰厅官网为你收集整理的的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得尊龙游戏旗舰厅官网网站内容还不错,欢迎将尊龙游戏旗舰厅官网推荐给好友。

网站地图