POJ1528 数论
来源:互联网 发布:ise14.7 端口 编辑:程序博客网 时间:2024/05/17 09:18
这题被我做得好搓 做完看别人做的才发现这么简单 遍历就可以的事被为整的有拆分素因子再 排列相乘
哎 真不想说什么自己水的不能再水了
#include <iostream>#include<cstdio>#include<cstring>using namespace std;int getsumfactor(int x){ int ans=0; for(int i=1;i<=x/2;i++) if(x%i==0) ans+=i; return ans;}int getlen(int x){ int m=1,ans=0; while(m<=x) m*=10,ans++; return ans;}int main(){ int a[105][3],n,s=0,len=0; while(cin>>n&&n!=0) a[s++][0]=n; for(int i=0; i<s; i++) { a[i][1]=getsumfactor(a[i][0]); a[i][2]=getlen(a[i][0]); len=max(len,a[i][2]); } cout<<"PERFECTION OUTPUT"<<endl; for(int i=0; i<s; i++) { for(int j=0; j<len-a[i][2]; j++) cout<<" "; cout<<a[i][0]<<" "; if(a[i][0]>a[i][1]) cout<<"DEFICIENT"<<endl; if(a[i][0]==a[i][1]) cout<<"PERFECT"<<endl; if(a[i][0]<a[i][1]) cout<<"ABUNDANT"<<endl; } cout<<"END OF OUTPUT"<<endl; return 0;}
下面是我之前A的 靠 我真想杀了我自己
#include <iostream>#include<cstdio>#include<cstring>using namespace std;#define max1 60000bool isprime[max1];int prime[max1],nprime;void getprime(){ nprime=0; long long i,j; memset(isprime,1,sizeof(isprime)); isprime[1]=0; for(i=2; i<max1; i++) if(isprime[i]) { prime[++nprime]=i; for(j=i*i; j<max1; j+=i) isprime[j]=0; }}bool dp[60010][2];int getsumfactor(int x){ memset(dp,0,sizeof(dp)); dp[1][0]=1; int temp=x,g1=1,g2=0; for(int i=1; prime[i]<=x&&temp>1; i++) { while(temp%prime[i]==0) { g1=!g1,g2=!g2; for(int j=1; j<x; j++) if(dp[j][g1]) dp[j][g2]=1,dp[j*prime[i]][g2]=1; temp/=prime[i]; for(int j=0; j<x; j++) dp[j][g1]=0; } } int ans=0; for(int i=1; i<x; i++) if(dp[i][g2]) ans+=i; return ans;}int getlen(int x){ int m=1,ans=0; while(m<=x) m*=10,ans++; return ans;}int main(){ getprime(); int a[105][3],n,s=0,len=0; while(cin>>n&&n!=0) a[s++][0]=n; for(int i=0; i<s; i++) { a[i][1]=getsumfactor(a[i][0]); a[i][2]=getlen(a[i][0]); len=max(len,a[i][2]); } cout<<"PERFECTION OUTPUT"<<endl; for(int i=0; i<s; i++) { for(int j=0; j<len-a[i][2]; j++) cout<<" "; cout<<a[i][0]<<" "; if(a[i][0]>a[i][1]) cout<<"DEFICIENT"<<endl; if(a[i][0]==a[i][1]) cout<<"PERFECT"<<endl; if(a[i][0]<a[i][1]) cout<<"ABUNDANT"<<endl; } cout<<"END OF OUTPUT"<<endl; return 0;}
- POJ1528 数论
- poj1528
- poj1528
- poj1528 Perfection
- poj1528解题报告
- poj1528结题报告
- [水]ZOJ1284 POJ1528
- POJ1528——因子和
- UVALive5429 UVA382 POJ1528 HDU1323 ZOJ1284 Perfection
- 数论
- 数论
- 数论
- 数论
- 数论
- 数论
- 数论
- 数论
- 数论
- why WSGI
- soj 1239. Smallest Differencev
- apache问题you don't have permission to access / on this server如何解决
- RUDP & UDT
- android实现简单聊天室
- POJ1528 数论
- DownloadManager
- android手机操作数据库出现sqlite3 not found的解决方法
- android 根据IP获取天气情况 详细讲解
- java 读取xml
- c++基础8:常用的数据结构及算法
- Memcached的管理
- 2012年总结
- CreateFileMapping 、MapViewOfFile、UnmapViewOfFile函数用法及示例