| ||||||||||
| Online Judge | Problem Set | Authors | Online Contests | User | ||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest | |||||||||
why wa?过了的兄弟帮忙看看,程序不长,谢谢#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <math.h>
const __int64 MAX = 10e18;
const int maxn = 100000+2;
int p1,p2,p3;
__int64 h[maxn];
int cmp(const void *a,const void *b)
{
__int64 p1 = *(__int64*)a;
__int64 p2 = *(__int64*)b;
if (p1 > p2)
return 1;
if (p1 == p2)
return 0;
return -1;
}
int main()
{
int i,j,k,tar,count;
__int64 temp;
while (scanf("%d%d%d%d",&p1,&p2,&p3,&tar) != -1)
{
count = 0;
for (i = 0; i <= 64; i ++)
{
for (j = 0; j <= 64;j ++)
{
for (k = 0; k <= 64; k ++)
{
temp = (__int64)pow(p1,i)*(__int64)pow(p2,j)*(__int64)pow(p3,k);
if (temp < MAX && temp > 0)
h[count++] = temp;
}
}
}
qsort(h,count,sizeof(h[0]),cmp);
printf("%I64d\n",h[tar]);
}
return 0;
}
Followed by:
Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator