又做了一天的大水題。寫一起把。
HDU1597
代碼:
[cpp]
#include<iostream>
#include<cmath>
using namespace std;
int main()
{
int k;
__int64 x,n;
scanf("%d",&k);
while( k--){
scanf("%I64d",&n);
x=int(sqrt(n*2.0));
while(x*x+x>=2*n) x--;
x=n-(x*x+x)/2;
printf("%I64d\n",(x-1)%9+1);
}
return 0;
}
HDU 1058 枚舉+排序
[cpp]
#include<iostream>
#include<algorithm>
#include<cmath>
using namespace std;
#define INF 0x7fffffff
int f[10000];
int main()
{
__int64 t;
int i,j,k,m,s,flag;
s=0; flag=1;
for( i=0;i<=12&&flag;i++)
for( j=0;j<=14&&flag;j++)
for( k=0;k<=20&&flag;k++)
for( m=0;m<=31&&flag;m++){
t= (__int64) ( pow(7.0,i)*pow(5.0,j)*pow(3.0,k)*pow(2.0,m) );
if( t<0||t>INF ){ break; flag=0;} //t<0是怕溢出
else{ f[s++]=t;
}
}
sort(f,f+s);
while( scanf("%d",&i)&&i){
printf("The %d",i);
if( i%10==1&&i%100!=11)
printf("st");
else if(i%10==2&&i%100!=12)
printf("nd");
else if(i%10==3&&i%100!=13)
printf("rd");
else
printf("th"); www.2cto.com
printf(" humble number is %d.\n",f[i-1]);
}
return 0;
}