博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
hdu 1460 完数
阅读量:5317 次
发布时间:2019-06-14

本文共 1820 字,大约阅读时间需要 6 分钟。

注意:num1和num2的大小未知,需比较!

有两种方法:

法一:素数打印+素数分解(求因数和公式)

1 #include
2 #include
3 #include
4 #include
5 #include
6 #include
7 using namespace std; 8 int p[10005];//记录包括自身的完数个数 9 bool vis[10005];10 int prime[1229+1];//如何估算比n小的素数的个数?? 提前打印即可,小于10000共1229个素数11 void print_prime(){12 memset(vis,false,sizeof(vis));13 int i=2;14 int index=0;15 for(;i<10000;i++){16 if(!vis[i]){17 prime[index++]=i;18 }19 for(int j=0;j
<10000;j++){20 vis[prime[j]*i]=true;21 if(i%prime[j]==0){22 break;23 }24 }25 }26 }27 int work(int n){28 int i=0,ret=1,total=1,temp=n;29 for(;prime[i]*prime[i]<=n;i++){30 int sum=1;31 int num=1;32 while(n%prime[i]==0){33 num*=prime[i];34 n/=prime[i];35 sum+=num;36 }37 total*=sum;38 }39 if(n>1){40 total*=n+1;41 }42 return total-temp;43 }44 void get_p(){45 memset(p,0,sizeof(p));46 p[2]=0;47 p[3]=0;48 int i=4;49 for(;i<10000;i++){50 if(i==work(i)){51 p[i]=p[i-1]+1;52 }53 else{54 p[i]=p[i-1];55 }56 }57 }58 int main()//1000059 {60 int n;61 cin>>n;62 print_prime();63 get_p();64 //cout<
<
>num1>>num2;68 if(num1>num2){69 num1=num1+num2;70 num2=num1-num2;71 num1=num1-num2;72 }73 cout<
<

 

法二:筛法

1 #include
2 #include
3 #include
4 #include
5 #include
6 #include
7 using namespace std; 8 int main()//10000 9 {10 int n;11 cin>>n;12 while(n--){13 int num1,num2;14 cin>>num1>>num2;15 if(num1>num2){16 num1=num1+num2;17 num2=num1-num2;18 num1=num1-num2;19 }20 int i=num1;21 int num=0;22 for(;i<=num2;i++){23 int j=2;24 int sum=1;25 for(;j<=i/2;j++){26 if(i%j==0){27 sum+=j;28 }29 }30 if(sum==i){31 num++;32 }33 }34 cout<
<

 

转载于:https://www.cnblogs.com/Deribs4/p/4270508.html

你可能感兴趣的文章
Unity 5.4 测试版本新特性---因吹丝停
查看>>
7.5 文件操作
查看>>
MyEclipse中将普通Java项目convert(转化)为Maven项目
查看>>
node js 安装.node-gyp/8.9.4 权限 无法访问
查看>>
windows基本命令
查看>>
VMware中CentOS设置静态IP
查看>>
[poj1006]Biorhythms
查看>>
Hyper-V虚拟机上安装一个图形界面的Linux系统
查看>>
Hover功能
查看>>
js千分位处理
查看>>
Mac---------三指拖移
查看>>
字符串类型的相互转换
查看>>
HTTP状态码
查看>>
iOS如何过滤掉文本中特殊字符
查看>>
基础学习:C#中float的取值范围和精度
查看>>
MongoDB-CRUD
查看>>
javaagent 简介
查看>>
python升级安装后的yum的修复
查看>>
Vim配置Node.js开发工具
查看>>
web前端面试题2017
查看>>