[水題]HDOJ 2000~2010
20087 ワード
2000 ASCIIコードソート
2001 2点間の距離の計算
2002球体積の計算
2003球絶対値
2004成績転換
2005年の何日目ですか.
2006奇数の積を求めます
2007平方和と立方和
2008数値統計
2009数列の和を求めます
2010水仙の数
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
char a, b, c, temp;
while(scanf("%c %c %c", &a, &b, &c) != EOF)
{
if(a > b)
{
temp = a;
a = b;
b = temp;
}
if(c < b)
{
temp = c;
c = b;
b = temp;
}
if(a > b)
{
temp = a;
a = b;
b = temp;
}
printf("%c %c %c
", a, b, c);
getchar();
}
return 0;
}
// if else
2001 2点間の距離の計算
#include <stdio.h>
#include <math.h>
int main()
{
double x1, y1, x2, y2;
while(scanf("%lf %lf %lf %lf", &x1, &y1, &x2, &y2) != EOF)
printf("%.2lf
", sqrt((double)((x2-x1)*(x2-x1)+(y2-y1)*(y2-y1))));
return 0;
}
/* Output Limit Exceeded, scanf x1,x2,y1,y2 , */
2002球体積の計算
#include <stdio.h>
#define PI 3.1415927
double R;
int main()
{
while(scanf("%lf", &R) != EOF)
printf("%.3lf
", 4.0/3*PI*R*R*R);
return 0;
}
/* WA , float, , double AC 。。。 ,float , , 0.001*0.001,0.001*0.001*0.001*999999*0.001 。。。 double */
2003球絶対値
#include <stdio.h>
int main()
{
double i;
while(scanf ("%lf",&i)!=EOF)
{
if (i<0)
printf ("%.2lf
",i-i-i);
else
printf ("%.2lf
",i);
}
return 0;
}
/* ,,, ,,, , i-i-i */
#include <stdio.h>
int main(void)
{
double x;
while(scanf("%lf", &x) != EOF)
{
if(x > 0)
printf("%.2lf
", x);
else
printf("%.2lf
", -x);
}
return 0;
}
2004成績転換
#include <stdio.h>
int main()
{
int i;
while (scanf("%d",&i)!=EOF)
{
if (i>=0&&i<=100)
switch(i/10)
{
case 0:
case 1:
case 2:
case 3:
case 4:
case 5:printf ("E
");break;
case 6:printf ("D
");break;
case 7:printf ("C
");break;
case 8:printf ("B
");break;
case 9:printf ("A
");break;
case 10:printf ("A
");break;
}
else
printf ("Score is error!
");
}
return 0;
}
/* Presentation Error, ,,, */
2005年の何日目ですか.
#include <stdio.h>
int main()
{
int a[12]={31,28,31,30,31,30,31,31,30,31,30,31};
int b[12]={31,29,31,30,31,30,31,31,30,31,30,31};
int m,n,p;
int t=0;
int i,j;
while(scanf("%d/%d/%d",&m,&n,&p)!=EOF)
{
t=0;
if ((m % 4 == 0 && m % 100) || m % 400 == 0)
{
if (n==1)
printf ("%d
",p);
else{
for (i=0;i<n-1;i++)
t=t+b[i];
t=t+p;
printf ("%d
",t);}
}
else
{
if (n==1)
printf ("%d
",p);
else{
for (i=0;i<n-1;i++)
t=t+a[i];
t=t+p;
printf ("%d
",t);}
}
}
return 0;
}
/* WA , , 。。。。。 4 , 。。。。。 */
2006奇数の積を求めます
#include <stdio.h>
int main()
{
int i,j,a[1000],t;
while (scanf("%d",&i)!=EOF)
{
t=1;
for (j=0;j<i;j++)
{
scanf ("%d",&a[j]);
if (a[j]%2!=0)
{
t=t*a[j];
}
}
printf ("%d
",t);
}
}
2007平方和と立方和
#include <stdio.h>
int main()
{
int i,a,b,n,m,t;
while(scanf ("%d %d",&a,&b)!=EOF)
{
m=n=0;
if (a>b)
{
t=a;
a=b;
b=t;
}
for (i=a;i<=b;i++)
{
if (i%2==0)
{
m=m+i*i;
}
else
{
n=n+i*i*i;
}
}
printf("%d %d
",m,n);
}
return 0;
}
/* WA , , , 。。。。。 , */
2008数値統計
#include <stdio.h>
int main()
{
int i,j,m,n,p;
double a[100];
while(scanf("%d",&i)&i!=0)
{
m=n=p=0;
for (j=0;j<i;j++)
{
scanf("%lf",&a[j]);
if (a[j]>0)
m++;
else if (a[j]==0)
n++;
else
p++;
}
printf ("%d %d %d
",p,n,m);
}
return 0;
}
2009数列の和を求めます
#include <stdio.h>
#include <math.h>
int main()
{
int j,a;
double i,t=0;
while(scanf ("%lf",&i)!=EOF)
{
t=i;
scanf ("%d",&j);
for (a=0;a<j-1;a++)
{
t=t+sqrt(i);
i=sqrt(i);
}
printf ("%.2lf
",t);
}
return 0;
}
/* INPUT : , , n(n<10000) m(m<1000) ,n m 。 while , , AC 。。。 */
2010水仙の数
/* Output Limit Exceeded, , */
#include <stdio.h>
int main()
{
int m,n,i,g,s,b,temp=0;
while (scanf("%d %d",&m,&n)!=EOF)
{
temp=0;
for (i=m;i<=n;i++)
{
g=i%10%10;
s=i/10%10;
b=i/100;
if (i==g*g*g+s*s*s+b*b*b)
{
if (temp==0)
{
printf ("%d",i);
temp=1;
}
else
printf (" %d",i);
}
}
if (temp==1)
printf ("
");
else
printf ("no
");
}
return 0;
}
/*
while (scanf("%d %d",&m,&n) && m>=100 && m<=n && n<=999 )
, , , , , , ,
*/