Sum(构造,枚举)
2015-12-31 08:41
344 查看
原题连接http://acm.hnu.cn/online/?action=problem&type=show&id=13396
这道题并不难,他已经给出公式了
k+k+1+k+2+k+3+....+b=N;
我们可得(2*k+d-1)*d=2*N;然后我们从2~根号2*n枚举d,看它是否满足整除关系= =
这道题并不难,他已经给出公式了
k+k+1+k+2+k+3+....+b=N;
我们可得(2*k+d-1)*d=2*N;然后我们从2~根号2*n枚举d,看它是否满足整除关系= =
1 #include<stdio.h> 2 #include<iostream> 3 #include<algorithm> 4 #include<string.h> 5 #include<math.h> 6 int main() 7 { 8 int t,n; 9 scanf("%d",&t); 10 while(t--) 11 { 12 int flag=0; 13 int l,r; 14 scanf("%d",&n); 15 n=2*n; 16 for(int i=2;i<=sqrt(n);i++) 17 { 18 if(n%i==0) 19 { 20 int ans=n/i; 21 if((ans-i+1)%2==0) 22 { 23 l=(ans-i+1)/2; 24 r=l+(i-1); 25 flag=1; 26 break; 27 } 28 } 29 } 30 if(flag==0) 31 printf("IMPOSSIBLE\n"); 32 else 33 { 34 printf("%d = ",n/2); 35 for(int i=l;i<r;i++) 36 printf("%d + ",i); 37 printf("%d\n",r); 38 } 39 } 40 return 0; 41 }
相关文章推荐
- 1278 相离的圆(51nod)
- 1279 扔盘子(51nod)
- Concert Tour(Uvalive 6853)
- 二维hash(Uva 12886)
- 优先队列实现哈弗曼最小权值
- C#实现自动升级(附源码)
- 背包问题------ 分类: ACM 2015-08-03 20:57 1人阅读 评论(0
- Cent Savings (DP) 分类: ACM dp 2015-08-0
- Judging Troubles (multiset查找) 分类: ACM STL
- Judging Troubles (multiset查找) 分类: ACM STL
- Joke with permutation 分类: ACM 2015-08-03 14:09 1
- HNU Knockout Racing 分类: ACM 2015-08-03 13:35 1人
- Crazy Search(POJ1200) 分类: poj 2015-07-25 10:15 6
- Delicious Apples(多校联合训练) 分类: ACM 多校 201
- 1080 两个数的平方和 分类: 51nod 2015-07-20 22:20 11人阅读
- 1066 Bash游戏 分类: 51nod 2015-07-20 22:15 5人阅读 评
- 1088 最长回文子串 分类: 51nod 2015-07-20 22:09 8人阅读 评
- 1083 矩阵取数问题 分类: 51nod 2015-07-20 22:05 9人阅读 评
- 1083 矩阵取数问题 分类: 51nod 2015-07-20 22:05 9人阅读 评
- 1009 数字1的数量 分类: 51nod 2015-07-20 21:44 3人阅读 评