算法竞赛入门经典各章习题答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第一章习题1-1
#include
int main()
{
int a,b,c;
double d;
scanf("%d%d%d",&a,&b,&c);
d=(double)(a+b+c);
printf("%.3lf\n",d/3.0);
return0;
}
习题1-2
#include
int main()
{
int f;
double c;
scanf("%d",&f);
c=5*(f-32)/9;
printf("%.3lf\n",c);
return0;
}
习题1-3
#include
int main()
{
int n;
scanf("%d",&n);
printf("%d\n",(n*(1+n))/2);
return0;
}
习题1-4
#include
#include
#define pi4.0*atan(1.0)
int main()
{
int n;
scanf("%d",&n);
printf("%lf\n",sin((pi*n)/180));
printf("%lf\n",cos((pi*n)/180));
return0;
}
习题1-5
#include
int main()
{
double x1,y1,x2,y2,a;
scanf("%lf%lf%lf%lf",&x1,&y1,&x2,&y2);
a=sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2));
printf("%lf\n",a);
return0;
}
习题1-6
#include
int main()
{
int n;
scanf("%d",&n);
if(n%2==0)
{
printf("YES\n");
}
else
{
printf("NO\n");
}
return0;
}
习题1-7
#include
int main()
{
int n;
double a;
scanf("%d",&n);
a=n*95.0;
if(a<300)
{
printf("%.2lf\n",a);
}
else
{
printf("%.2lf\n",a*0.85);
}
return0;
}
习题1-8
#include
#include
int main()
{
double n;
scanf("%lf",&n);
printf("%.2lf",fabs(n));
return0;
}
习题1-9
#include
int main()
{
int a,b,c;
scanf("%d%d%d",&a,&b,&c);
if(a==b&&b==c)
{
printf("no\n");
}
if((a*a+b*b==c*c)||(a*a+c*c==b*b)||(b*b+c*c==a*a)) {
printf("yes\n");
}
else
{
printf("no\n");
}
return0;
}
习题1-10
#include
int main()
{
int n;
scanf("%d",&n);
if(n%4==0)
{
if(n%100!=0)
{
printf("no\n");
}
else
{
if(n%400==0)
{
printf("yes\n");
}
else
{
printf("no\n");
}
}
}
else
{
printf("no\n");
}
return0;
}
第二章
习题2-1
#include
int main()
{
int n,count=0;
scanf("%d",&n);
while(n>0)
{
count++;
n=n/10;
}
printf("%d\n",count);
return0;
}
习题2-2
#include
int main()
{
int a,b,c;
for(int i=100;i<=999;i++)
{
a=i%10;
b=i/10%10;
c=i/100;
if(i==a*a*a+b*b*b+c*c*c)
{
printf("%d\n",i);
}
}
return0;
}
习题2-3
#include
int main()
{