栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

poj 3361 Gaussian Prime Factors

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

poj 3361 Gaussian Prime Factors

#include<cstdio>#include<cmath>#include<cstring>#include<algorithm>using namespace std;#define MAXN 1005struct ele{int a,b;bool operator < (const ele &c) const{if(a==c.a){if(abs(b)==abs(c.b))return b>c.b;elsereturn abs(b)<abs(c.b);}elsereturn a<c.a;}}e[MAXN];int up;void get(int p){if((p-3)%4==0) e[up].a=p,e[up++].b=0;else{for(int i=1;i*i<=p;i++){int j=sqrt(1.0*(p-i*i));if(i*i+j*j==p){e[up].a=i,e[up++].b=j;e[up].a=i,e[up++].b=-j;break;}}}}int main(){int cas=1,n;while(scanf("%d",&n)!=EOF){up=0;for(int i=2;i*i<=n;i++)if(n%i==0){get(i);while(n%i==0) n/=i;}if(n>1) get(n);sort(e,e+up);printf("Case #%d:",cas++);for(int i=0;i<up;i++){printf(" %d",e[i].a);if(e[i].b<0){if(e[i].b==-1) printf("-j");else printf("%dj",e[i].b);}else if(e[i].b>0){if(e[i].b==1) printf("+j");else printf("+%dj",e[i].b);}if(i<up-1) printf(",");}printf("n");}return 0;}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/365619.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号