工大后院

 找回密码
 加入后院

扫一扫,访问微社区

QQ登录

只需一步,快速开始

搜索
查看: 1198|回复: 3

贴5题

[复制链接]
发表于 2005-7-22 23:09 | 显示全部楼层 |阅读模式
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;
}
 楼主| 发表于 2005-7-22 23:10 | 显示全部楼层
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;
}
回复

使用道具 举报

发表于 2005-7-23 13:19 | 显示全部楼层
虽然有些自己都做对,但比较一下思路,应该都会有所提高的。谢了!
回复

使用道具 举报

发表于 2005-8-7 23:27 | 显示全部楼层
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));
        }
}
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 加入后院

本版积分规则

QQ|Archiver|手机版|小黑屋|广告业务Q|工大后院 ( 粤ICP备10013660号 )

GMT+8, 2025-8-30 08:26

Powered by Discuz! X3.5

Copyright © 2001-2024 Tencent Cloud.

快速回复 返回顶部 返回列表