算法竞赛入门经典(第二版)(第二章)

#include <iostream>
#include <cmath>
#include <algorithm>
#include <cstdio>
#include <ctime>
#include <iomanip>
#include <cstring>
using namespace std;
/*#define st1 start=clock()
#define st2 stop=clock()
#define st3 (double)(stop-start)/CLOCKS_PER_SEC
#define pai const double pi=acos(-1.0)
clock_t start,stop;*/
#define maxn 10010
int a[maxn];//比较大的数组放在main函数外面
int main()
{
    double i;
    for(i=0;i!=10;i+=0.1)//i!=10等于没有
    {
        printf("%.1f\n",i);
    }
    return 0;
}
    /*int n;
    scanf("%d",&n);
    for(int i=2;i<=2*n;i+=2)
    {
        printf("%d\n",i);
    }
    return 0;
}*/
    /*for(int a=1;a<10;a++)
        for(int b=1;b<10;b++)
            for(int c=1;c<10;c++)
                for(int d=1;d<10;d++)
                    for(int e=1;e<10;e++)
                        for(int f=1;f<10;f++)
                            for(int g=1;g<10;g++)
                                for(int h=1;h<10;h++)
                                    for(int i=1;i<10;i++)
                                    {
                                        int x=a*100+b*10+c;
                                        int y=d*100+e*10+f;
                                        int z=g*100+h*10+i;
                                        if(abxdefghi!=&&1:2:3)
                                    }*/
    /*int a,b,c;
    while(cin>>a>>b>>c)
    {
        if(a==0&&b==0&&c==0) break;
        if(n>m) swap(n,m);
        double x=a*1.0/(b*1.0);
        cout<<fixed<<setprecision(c)<<x<<endl;
    }
    return 0;
}*/
    /*int n,m;
    while(scanf("%d%d",&n,&m))
    {
        if(n==0&&m==0) break;
        double s=0;
        for(int i=n;i<=m;i++)
        {
            s=s+1.0/(i*1.0*i*1.0);
        }
        cout<<fixed<<setprecision(5)<<s<<endl;
    }
    return 0;
}*/
    /*int n;
    cin>>n;
    for(int i=0;i<n;i++)
    {
        for(int j=0;j<i;j++)
        {
            cout<<" ";
        }
        for(int k=0;k<2*(n-i)-1;k++)
        {
            cout<<"*";
        }
        cout<<endl;
    }
    return 0;
}*/
    /*int a[3];
    for(int i=0;i<3;i++)
    {
        cin>>a[i];
    }
    int m=a[0];
    int l=1,x=3;
    for(int i=0;i<2;i++)
    {
        l=l*x;
        x+=2;
        while(m%x!=a[i+1])
        {
            m+=l;
        }
    }
    if(m>=10&&m<=100) cout<<m<<endl;
    else cout<<"no answer"<<endl;
    return 0;
}*/
    /*for(int i=100;i<=999;i++)
    {
        int a=i/100;
        int b=i/10%10;
        int c=i%10;
        if(a*a*a+b*b*b+c*c*c==i) cout<<i<<endl;
    }
    return 0;
}*/
    //鲁棒是Robust的音译,也就是健壮和强壮的意思。它是在异常和危险情况下系统生存的关键
    //鲁棒性越大,即使出现错误也可能通过
    //在多数据的题目中不要忘了重置变量
    //同名变量,内层变量会屏蔽外层变量,有时会引起错误
    /*int a;
    cin>>a;
    cout<<a<<endl;
    //鼠标右键即可将输入的复制
}*/
    /*int x,n=0,min,max,s=0;//max初始化成一个很小的数,min初始化成一个很大的数
    //或者将max,min初始化成第一个数
    while(scanf("%d",&x)==1)
    {
        s+=x;
        if(n==0)
        {
            max=x;
            min=x;
        }
        n++;
        if(x<min) min=x;
        if(x>max) max=x;
    }
    printf("%d %d %.3f\n",min,max,(double)(s*1.0/n));
    //整型运算变为double尽量多乘于1.0
    return 0;
}*/
    /*pai;
    cout<<pi<<endl;
}*/
    //打表找规律
    /*int n,s=0;
    scanf("%d",&n);
    st1;
    for(int i=1;i<=n;i++)
    {
        int f=1;
        for(int j=1;j<=i;j++)
        {
            f=(f*j)%1000000;
        }
        s=(s+f)%1000000;
    }
    printf("%d\n",s);
    st2;
    printf("time used = %.2f\n",st3);
    //输入时间也计算在内
    return 0;
}*/
    //输出中间变量用来找出错误
    /*double sum=0;
    for(int i=0;;i++)
    {
        double term=1.0/(i*2+1);
        if(i%2==0) sum+=term;
        else sum-=term;
        if(term<1e-6) break;
    }
    printf("%.6f",sum);
    return 0;
}*/
    /*int i=0;
    double sum=0,term;
    do{
        term=1.0/(i*2+1);
        if(i%2==0) sum+=term;
        else sum-=term;
        i++;
    }while(term>1e-6);
    printf("%.6f",sum);
    return 0;
}*/
    /*int n1,c=0;
    scanf("%d",&n1);
    long long int n=n1;
    while(n>1)
    {
        if(n%2==1) n=n*3+1;
        else n/=2;
        c++;
    }
    cout<<c<<endl;
    return 0;
}*/
    /*for(int x=1;;x++)//若一个数能表示成某个整数的
    //平方的形式,则称这个数为完全平方数.完全平方数
    //是非负数,而一个完全平方数的项有两个
    {
        int n=x*x;
        if(n<1000) continue;
        if(n>9999) break;
        int hi=n/100;
        int lo=n%100;
        if(hi/10==hi%10&&lo/10==lo%10) printf("%d\n",n);
    }
    return 0;
}*/
    /*for(int i=1;i<=9;i++)
    {
        for(int b=0;b<=9;b++)
        {
            //cout<<i*1100+b*11<<endl;
            int n= i*1100+b*11;
            int m=floor(sqrt(n)+0.5);//floor(x),也写做Floor(x),
            //其功能是“向下取整”,或者说“向下舍入”,即取不大于x的
            //最大整数(与“四舍五入”不同,下取整是直接取按照数轴上
            //最接近要求值的左边值,即不大于要求值的最大的那个整数值)。
            if(m*m==n) printf("%d\n",n);
        }
    }
    return 0;
}*/
    /*int n;
    scanf("%d",&n);
    for(int i=1;i<=n;i++)
        printf("%d\n",i);
    return 0;
}*/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值