前言:

WTCL,居然折磨煎蛋的性质都忘记了,WTCL。

考场上想出来了正解,就差一点就能A掉,挺难受的。

要记住一个数n可能会有一个大于\(\sqrt{n}\)的质因子。。我忘记把它加进去了。。。。

解析:

相似三角形是很显然的。

最后式子变成\(\frac{i^2}{n},i\in[1,n-1]\) 。

求令这个式子是整数的i的个数。

显然把n分解质因数,因为上面是\(i^2\) 所以,假设n中有一个\(p^j\),那么i中至少要有\(p^{\lceil\frac{j}{2}\rceil}\).

然后。。只要把这些\(p_i^{\lceil\frac{j_i}{2}\rceil}\)都乘在一起,然后再用(n-1)除掉,就完了。

代码:

#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const int maxn=10000000+10,ss=1e7+10;
ll n,ans;
bool is_not_prime[maxn];
int prime[maxn];
int cnt;
vector <int> tot,pr;
void Solve1(){
int aa=0;
for(register int i=1;i<n;++i){
ll res=1ll*i*(n-i);
if(res%n) continue;
aa++;
}
printf("%d\n",aa*8);
}
ll qpow(int x,int y){
ll base=x;
ll res=1;
while(y){
if(y&1) res=res*base;
base=base*base;
y>>=1;
}
return res;
}
void Solve2(){
pr.clear();
tot.clear();
ll xx=n;
for(int i=1;i<=cnt;++i){
if(n%prime[i]) continue;
int tool=0;
while(n%prime[i]==0){
tool++;
n/=prime[i];
}
pr.push_back(prime[i]);
tot.push_back(tool);
}
ll aa=n;
for(int i=0;i<pr.size();++i) aa*=qpow(pr[i],(tot[i]+1)>>1);
ans=(xx-1)/aa;
printf("%lld\n",ans*8);
}
void xxs(){
is_not_prime[0]=is_not_prime[1]=1;
for(int i=2;i<=10000000;++i){
if(!is_not_prime[i]) prime[++cnt]=i;
for(int j=1;j<=cnt&&i*prime[j]<=10000000;++j){
is_not_prime[i*prime[j]]=1;
if(i%prime[j]==0) break;
}
}
}
void Solve(){
xxs();
while(1){
scanf("%lld",&n);
if(n==0) return;
if(n<=ss){
Solve1();
continue;
}
Solve2();
}
}
int main(){
//freopen("tri.in","r",stdin);
//freopen("tri.out","w",stdout);
Solve();
return 0;
}

上午小测1 T1 木板 题解的更多相关文章

  1. 上午小测3 T1 括号序列 && luogu P5658 [CSP/S 2019 D1T2] 括号树 题解

    前 言: 一直很想写这道括号树..毕竟是在去年折磨了我4个小时的题.... 上午小测3 T1 括号序列 前言: 原来这题是个dp啊...这几天出了好几道dp,我都没看出来,我竟然折磨菜. 考试的时候先 ...

  2. 上午小测1 B.序列 哈希表+数学

    题目描述 \(EZ\) 每周一都要举行升旗仪式,国旗班会站成一整列整齐地向前行进. 郭神摄像师想要选取其中一段照下来.他想让这一段中每个人的身高成等比数列,展示出最萌身高差.但他发现这个太难办到了.于 ...

  3. 小测几种python web server的性能

    http://blog.csdn.net/raptor/article/details/8038476 因为换了nginx就不再使用mod_wsgi来跑web.py应用了,现在用的是gevent-ws ...

  4. [福大软工] Z班 团队作业——随堂小测(同学录) 作业成绩

    团队作业--随堂小测(同学录) 作业链接 http://www.cnblogs.com/easteast/p/7763645.html 作业情况 本次作业从原先预计的3小时,有些组打了鸡血连续肝了4. ...

  5. 福州大学软件工程1816 | W班 第8次作业[团队作业,随堂小测——校友录]

    作业链接 团队作业,随堂小测--校友录 评分细则 本次个人项目分数由两部分组成(博客分满分40分+程序得分满分60分) 博客和程序得分表 评分统计图 千帆竞发图 总结 旅法师:实现了更新,导出,查询, ...

  6. MySQL课堂小测

    目录 一.基本知识与操作方法 二.小测具体内容 (一)向数据库表中添加记录 (二)下载并导入world.sql (三)数据库查询与输出 (四)查询数据库并求某字段和 (五)查询数据库并取最大& ...

  7. 随堂小测app(nabcd)

    N 现在,老师想要组织测验,需要提前印制试卷,费时费力,考勤采取传统的点名的方式,过程繁琐且结果水分大. 而随堂小测app通过在线答题,智能定位可以帮助老师掌握学生对知识的掌握程度,了解学生的到客情况 ...

  8. java实验(三)——课堂小测

    这次的课堂小测是用以前生成的那些四则运算的代码,然后将这些题目写到一个文件中,再通过这个文件读取题目的信息,每读入一个答案的时候,遇到星号的时候,等待用户输入然后判断输入的答案是否正确,然后输出小一道 ...

  9. 朱晔和你聊Spring系列S1E11:小测Spring Cloud Kubernetes @ 阿里云K8S

    有关Spring Cloud Kubernates(以下简称SCK)详见https://github.com/spring-cloud/spring-cloud-kubernetes,在本文中我们主要 ...

随机推荐

  1. Delphi使用AcroPDF ActiveX显示PDF文件

    效果展示 调用方式 放入窗体即可使用,不想安装太多组件,可使用纯代码方式调用 interface ..... var AcroPDF: TAcroPDF; .... implementation .. ...

  2. Vue状态管理Vuex简单使用

    状态管理保存在store\index.js中,简单说明如下 import Vue from 'vue' import Vuex from 'vuex' Vue.use(Vuex) export def ...

  3. 第23篇-虚拟机对象操作指令之getstatic

    Java虚拟机规范中定义的对象操作相关的字节码指令如下表所示. 0xb2 getstatic 获取指定类的静态域,并将其值压入栈顶 0xb3 putstatic 为指定的类的静态域赋值 0xb4 ge ...

  4. Java中使用jxl.jar将数据导出为excel文件

      Java对Excel文件的读写操作可由jxl.jar或poi.jar实现,这里使用jxl.jar完成对Excel文件的导出. 一.将Excel文件导出在本地 步骤:   创建文件 -> 创建 ...

  5. 解决git bash闪退问题 报openssl错误

    问题描述:今天安装git之后发现Git Bash工具闪退. 于是试了各种办法之后,最后终于解决. 背景描述:git 下载地址:https://git-scm.com/download/win 下载成功 ...

  6. Xamarin UIProgressView自定义

    Progress.ProgressImage = UIImage.FromFile ("progress.png"); Progress.TrackImage = UIImage. ...

  7. Elasticsearch的基本使用

    1. 概述 之前聊了一下 Elasticsearch 的安装,今天我们来说说 Elasticsearch 的基本使用. 2. Elasticsearch索引的使用 索引(index)相当于是mysql ...

  8. stderr,stdin,stdout相关

    转载请保留原作者. 目录 一.stdin和stdout 1.意义 2.缓冲 2.1.scanf的缓冲问题 2.2.fflush 3.freopen 二.stderr 1.输出方法 2.默认缓冲 一.s ...

  9. 关于pycharm创建django1.x和3.x项目的说明

    1.我创建了两个模板文件分别代表django1.x和3.x 2.两个模板文件分别为Django1Template和Django3Template (不同模板文件中存放不同的django版本) 3.使用 ...

  10. adobe media encoder cc 2018无法打开,报错0xc0000005

    在我这里是因为显卡的原因 下载NVIDIA然后打开NVIDIA控制面板,在里面选择软件的显卡,挨个试就行, 还不行就在设备管理器中将多余的先禁用,试一试