贴5题
1495#include<stdio.h>
#include<string.h>
int main()
{
int i,j,k,n;
//freopen("in.txt","r",stdin);
while(scanf("%d",&n),n)
{
i=0;j=n;
while(n-->0)
{
if(j<1) i++;
scanf("%d",&k);
if(k<j) j=k;
j--;
}
printf("%d\n",i);
}
return 0;
} 1410
#include<stdio.h>
int main()
{
int n,m,j;
double len,newlen,diglen,i,k;
scanf("%d",&n);
while(n--)
{
scanf("%d",&m);
len=0;newlen=0;diglen=1;j=0;i=0;
do
{
j++;
if(j==10) diglen++;
else if(j==100) diglen++;
else if(j==1000) diglen++;
else if(j==10000) diglen++;
else if(j==100000) diglen++;
else if(j==1000000) diglen++;
else if(j==10000000)
diglen++;
else if(j==100000000)
diglen++;
newlen+=diglen;
i=i+newlen;
}while(i<m);
i-=newlen;
j=0;
diglen=1;
while(i<m)
{
j++;
if(j==10) diglen++;
else if(j==100) diglen++;
else if(j==1000) diglen++;
else if(j==10000) diglen++;
else if(j==100000) diglen++;
else if(j==1000000) diglen++;
else if(j==10000000)
diglen++;
else if(j==100000000)
diglen++;
i+=diglen;
}
i-=diglen;
k=diglen-(m-i);
while(k-->0)
j=j/10;
j=j % 10;
printf("%d\n",j);
}
return 0;
} 虽然有些自己都做对,但比较一下思路,应该都会有所提高的。谢了! 1439
#include<stdio.h>
#include<math.h>
main()
{
float R_in,R_out;
float x1,y1,x2,y2,x3,y3,z1,z2,z3;
float a,b,c,l,S;
while(scanf("%f%f%f",&x1,&y1,&z1)!=EOF)
{
scanf("%f%f%f%f%f%f",&x2,&y2,&z2,&x3,&y3,&z3);
a=sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2)+(z1-z2)*(z1-z2));
b=sqrt((x1-x3)*(x1-x3)+(y1-y3)*(y1-y3)+(z1-z3)*(z1-z3));
c=sqrt((x3-x2)*(x3-x2)+(y3-y2)*(y3-y2)+(z3-z2)*(z3-z2));
l=0.5*(a+b+c);
S=sqrt(l*(l-a)*(l-b)*(l-c));
R_in=S/l;
R_out=a*b*c/(S*4);
printf("%.3f\n",R_in*R_in/(R_out*R_out));
}
}
页:
[1]