工大后院

 找回密码
 加入后院

扫一扫,访问微社区

QQ登录

只需一步,快速开始

搜索
查看: 1063|回复: 4

贴5题

[复制链接]
发表于 2005-7-22 23:08 | 显示全部楼层 |阅读模式
1484另外有帖子讨论,不贴了.
1439做不出,哪个数学好的贴贴
1487
        #include<stdio.h>
        #include<string.h>
        int main()
        {
        int i,j,k,n,m,num[2001],an[2001],up;
        //freopen("in.txt","r",stdin);
        while(scanf("%d %d",&n,&m)!=EOF)
        {
                for (i=0;i<=n;i++)num=i+1;
                num[n]=1;
                k=0;
                up=n;
                for (i=1;i<=n;i++)
                {
                        j=0;
                        while(j<=m)
                        {
                                j++;
                                up=k;
                                k=num[k];
                        }
                        num[up]=num[k];
                        an[k]=i;
                }
                for (i=1;i<n;i++)
                        printf("%d ",an);
                printf("%d\n",an[n]);
        }
        return 0;
        }
 楼主| 发表于 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-5-13 14:27

Powered by Discuz! X3.5

Copyright © 2001-2024 Tencent Cloud.

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