HDU 1399 搜索

来源:互联网 发布:sql union 用法 where 编辑:程序博客网 时间:2024/05/29 07:24

大水。。直接搜。。

#include "stdio.h"#include "string.h"int n,a,b;int judge1(){int i;for (i=1;;i++)if (i*i*i==n) return 1;else if (i*i*i>n){a=i-1;return 0;}}int judge2(){int i;for (i=1;;i++)if ((i*(i+1)*(i+2)/6)==n) return 1;else if ((i*(i+1)*(i+2)/6)>n){b=i-1;return 0;}}void judge(){int t,i,j,max;max=0;for (i=1;i<=a;i++){for (j=1;j<=b;j++){t=i*i*i+j*(j+1)*(j+2)/6;if (t==n) { printf("%d\n",n); return ;}if (t<n && t>max) max=t;}}printf("%d\n",max);return ;}int main(){while (scanf("%d",&n)!=EOF){if (n==0) break;if (judge1()==1 || judge2()==1){printf("%d\n",n);continue;}judge();}return 0;}


0 0
原创粉丝点击