NOI / 1.1编程基础之输入输出
01:Hello, World!
答:
#include<bits/stdc++.h>
using namespace std;
int main(){
    cout<<"Hello, World!";
    return 0;    
}

02:输出第二个整数
答:
#include<iostream>
using namespace std;
int main(){
    int a,b,c;
    cin>>a>>b>>c;
    cout<<b;
    return 0;    
}

03:对齐输出
答:
#include <iostream> 
#include <iomanip> 
using namespace std;
int main()
{
    int a, b, c;
    cin >> a >> b >> c;
    // 可以三行合并为一行写完,不过太长了 
    cout << setw(8) << a << ' ';
    cout << setw(8) << b << ' ';
    cout << setw(8) << c;
    return 0;
}

04:输出保留3位小数的浮点数

#include<iostream>
using namespace std;
int main(){
    float a;
    cin>>a;
    printf("%0.3f",a);
    
    return 0;    
}

05:输出保留12位小数的浮点数
答:
#include<iostream>
using namespace std;
int main(){
    double a;
    cin>>a;
    printf("%0.12f",a);
    
    return 0;    
}

06:空格分隔输出

#include<iostream>
using namespace std;
int main()
{
    int b;
    char c;
    float e;
    double a;
    cin>>c>>b>>e>>a;
    cout<<c<<" "<<b<<" ";    
    printf("%0.6f ",e);
    printf("%0.6f ",a);
    return 0;    
}

07:输出浮点数

#include <cstdio>
int main()
{
    double f;
    scanf("%lf", &f);
    printf("%f\n%.5f\n%e\n%g", f, f, f, f);
    return 0;
}

08:字符三角形

#include<iostream>
using namespace std;
int main()
{
    char a;
    cin>>a;
    
    cout<<"  "<<a<<endl;
    cout<<" "<<a<<a<<a<<endl;
    cout<<a<<a<<a<<a<<a<<endl;
    return 0;
}

09:字符菱形

#include<iostream>
using namespace std;
int main()
{
    char a;
    cin>>a;
    
    cout<<"  "<<a<<endl;
    cout<<" "<<a<<a<<a<<endl;
    cout<<a<<a<<a<<a<<a<<endl;
    cout<<" "<<a<<a<<a<<endl;
    cout<<"  "<<a<<endl; 
    return 0;
}

10:超级玛丽游戏
答因系统不相同,所以显示不出出来。(亲,请谅解。)看到的不是乱码,可直接复制上去。
#include<iostream>
using namespace std;
int main()
{
    cout<<"                ********"<<endl;
    cout<<"               ************"<<endl;
    cout<<"               ####....#."<<endl;
    cout<<"             #..###.....##...."<<endl;
    cout<<"             ###.......######              ###                 ###           ###           ###"<<endl; 
    cout<<"                ...........               #...#               #...#         #...#         #...#"<<endl;
    cout<<"               ##*#######                 #.#.#               #.#.#         #.#.#         #.#.#"<<endl;
    cout<<"            ####*******######             #.#.#               #.#.#         #.#.#         #.#.#"<<endl;
    cout<<"           ...#***.****.*###....          #...#               #...#         #...#         #...#"<<endl;
    cout<<"           ....**********##.....           ###                 ###           ###           ###"<<endl;
    cout<<"           ....****    *****...."<<endl;
    cout<<"             ####        ####"<<endl;
    cout<<"           ######        ######"<<endl;
    cout<<"##############################################################              ##################################"<<endl;
    cout<<"#...#......#.##...#......#.##...#......#.##------------------#              #...#......#.##------------------#"<<endl;
    cout<<"###########################################------------------#              ###############------------------#"<<endl;
    cout<<"#..#....#....##..#....#....##..#....#....#####################              #..#....#....#####################"<<endl;
    cout<<"##########################################    #----------#                  ##############    #----------#"<<endl;
    cout<<"#.....#......##.....#......##.....#......#    #----------#                  #.....#......#    #----------#"<<endl;
    cout<<"##########################################    #----------#                  ##############    #----------#"<<endl;
    cout<<"#.#..#....#..##.#..#....#..##.#..#....#..#    #----------#                  #.#..#....#..#    #----------#"<<endl;
    cout<<"##########################################    ############                  ##############    ############"<<endl;
    
    return 0;    
}

NOI / 1.2编程基础之变量定义、赋值及转换
01
#include <iostream>
using namespace std;
int main()
{
    int a;
    short b;
    cout << sizeof(a) << ' ' << sizeof b;
    return 0;
}
2

#include<bits/stdc++.h>
using namespace std;
int main(){
    float a=1.0;
    double b=2.0;
    cout<<sizeof(a)<<' '<<sizeof(b)<<endl;
    return 0;

3

#include<bits/stdc++.h>
using namespace std;
int main(){
    bool a=1;
    char b=2;
    cout<<sizeof(a)<<' '<<sizeof(b)<<endl;
    return 0;

4

#include<bits/stdc++.h>
using namespace std;
int main(){
    cout<<"D C"<<endl;
    return 0;
}
5

#include<bits/stdc++.h>
using namespace std;
int main(){
    cout<<"F E"<<endl;
    return 0;
}
6

#include<bits/stdc++.h>
using namespace std;
int main(){
    int a,b;
    cin>>a>>b;
    printf("%.3lf%%",(double)b/a*100);//cout<<fixed<<setprecision(3)<<(double)b/a*100<<'%'<<endl;
    return 0;
}
7

#include<bits/stdc++.h>
using namespace std;
int main(){
    char a;
    scanf("%c",&a);
    printf("%d",a);
    return 0;
}
8

#include<bits/stdc++.h>
using namespace std;
int main(){
    int a;
    scanf("%d",&a);
    printf("%c",a);
    return 0;
}
9

#include<bits/stdc++.h>
using namespace std;
int main(){
    int a;
    bool b;
    cin>>a;
    a=b=a;
    cout<<a<<endl;
    return 0;
}
10

#include<bits/stdc++.h>
using namespace std;
int main(){
    char a[]="Hello, World!";
    cout<<sizeof(a)<<endl;
    return 0;
                        NOI / 1.3编程基础之算术表达式与顺序执行
01

#include<iostream>
using namespace std;
int main(){
    int a,b;
    cin>>a>>b;
    cout<<a+b<<    endl;
    return 0;
}
02

#include<stdio.h>
#include<math.h>
int main()
{
    int a,b,c;
    scanf("%d %d %d",&a,&b,&c);
    printf("%d",(a+b)*c);
}
03

#include<stdio.h>
int main()
{
    int a,b,c;
    scanf("%d %d %d",&a,&b,&c);
    printf("%d",(a+b)/c);
}
04

#include<stdio.h>
int main()
{
    int a,b,c;
    scanf("%d %d",&a,&b);
    printf("%d %d",a/b,a%b);
}
05

#include<stdio.h>
int main()
{
    int a,b;
    scanf("%d %d",&a,&b);
    double c=((double)a)/((double)b);
    printf("%.9f",c);
}
06

#include<stdio.h>
int main()
{
    int a,b;
    scanf("%d %d",&a,&b);
    double c;
    c=((double)b)/((double)a)*100;
    printf("%.3f%%",c);
}
07

#include<stdio.h>
#include<math.h>
int main()
{
    double a,b,c,d,x;
    scanf("%lf %lf %lf %lf %lf",&x,&a,&b,&c,&d);
    double result;
    result=a*pow(x,3)+b*pow(x,2)+c*x+d;
    printf("%.7lf",result);
}
08

#include<stdio.h>
#include<math.h>
int main()
{
    double f,c;
    scanf("%lf",&f);
    c=5*(f-32)/9;
    printf("%.5f",c);
}
09

#include<stdio.h>
#include<math.h>
#define pi 3.14159
int main()
{
    double r;
    scanf("%lf",&r);
    printf("%.4f %.4f %.4f",2*r,2*pi*r,pi*r*r);
}
10

#include<stdio.h>
#include<math.h>

int main()
{
    float a,b,R;
    scanf("%f %f",&a,&b);
    R=1/(1/a+1/b);
    printf("%.2f",R);
}
11

#include<stdio.h>
#include<math.h>

int main()
{
    double a,b;
    scanf("%lf %lf",&a,&b);
    int k=(int)(a/b);
    double r;
    r=a-k*b;
    printf("%g",r);
}
12

#include<stdio.h>
#include<math.h>

#define pi 3.14

int main()
{
    double r;
    scanf("%lf",&r);
    double s=(4*pi*pow(r,3))/3;
    printf("%.2f",s);
}
13

#include<stdio.h>
#include<math.h>

int main()
{
    int a;
    scanf("%d",&a);
    int i,get;
    for(i=0;i<3;i++)
    {
        get=a%10;
        a/=10;
        printf("%d",get);
    }
}
14

#include<stdio.h>
#include<math.h>

#define pi 3.14159

int main()
{
    int h,r;
    scanf("%d %d",&h,&r);
    double exist=(pi*r*r*h)/1000;
    int n;
    n=(int)20/exist;
    n++;
    printf("%d",n);
}
15

#include<stdio.h>
#include<math.h>

int main()
{
    int n,x,y;
    scanf("%d %d %d",&n,&x,&y);
    //ceil函数对小数向上取整,需要math.h头文件 
    int left=n-ceil(y*1.0/x);
    printf("%d",left);
}
16

#include<stdio.h>
#include<math.h>
int main()
{
    double xa,ya,xb,yb;
    scanf("%lf %lf",&xa,&ya);
    scanf("%lf %lf",&xb,&yb);
    double answer;
    answer=sqrt(pow((xa-xb),2)+pow((ya-yb),2));
    printf("%.3lf",answer);
}
17

#include<stdio.h>
#include<math.h>

#define pi 3.14159

int main()
{
    float x1,x2,x3,y1,y2,y3; 
    scanf("%f %f %f %f %f %f",&x1,&y1,&x2,&y2,&x3,&y3);
    double a,b,c;
    a=sqrt((pow(x1-x2,2))+(pow(y1-y2,2)));
    b=sqrt((pow(x1-x3,2))+(pow(y1-y3,2)));
    c=sqrt((pow(x3-x2,2))+(pow(y3-y2,2)));
    double p=(a+b+c)/2;
    double s=sqrt(p*(p-a)*(p-b)*(p-c));
    printf("%.2f",s);
}
18

#include<stdio.h>
int main()
{
    int a[1024];
    int d,i,n;
    scanf("%d %d %d",&a[0],&a[1],&n);
    if(a[0]<-100)
    {
        printf("输入有误");
        return;
    }
    if(a[1]>100)
    {
        printf("输入有误");
        return;
    }
    if((n>1000)&&(n<=0))
    {
        printf("输入有误");
        return;
    }
    d=a[1]-a[0];    
    for(i=2;i<=n-1;i++)
    {
        a[i]=a[i-1]+d;
    }
    printf("%d",a[n-1]);
}
19

#include<stdio.h>
#include<math.h>

int main()
{
    //乘积的范围超过了int,使用长整型 
    long a,b;
    scanf("%ld %ld",&a,&b);
    if((a>=1)&&(b<=50000))
    {
        printf("%ld",a*b);
}
20

#include<stdio.h>
#include<math.h>

int main()
{
    int n;
    scanf("%d",&n);
    long long s;
    if(n>=0&&n<31)
    {
        s=pow(2,n);
    printf("%lld",s); 
    } 
    
}
                         1.4编程基础之逻辑表达式与条件分支
01

#include <iostream>
using namespace std;
int main()
{
    int a;
    cin>>a;
    if(a>0)
        cout<<"positive";
    else if(a==0)
        cout<<"zero";
    else
        cout<<"negative";
    return 0;
}
02

#include <iostream>
#include <stdio.h>
using namespace std;
int main()
{
    float a;
    cin>>a;
    if(a<0)
        a=-a;
    printf("%.2f",a);
    return 0;
}
03

#include <iostream>
using namespace std;
int main()
{
    int n;
    cin>>n;
    if(n%2==0)
        cout<<"even";
    else
        cout<<"odd";
    return 0;    
}
04

#include<stdio.h>
using namespace std;
int main()
{
    char n;
    scanf("%c",&n);
    if(n%2==1)
        printf("YES");
    else if(n%2==0)
        printf("NO");
    return 0;    
}
05

#include <iostream>
using namespace std;
int main()
{
    int x,y;
    cin>>x>>y;
    if(x>y)
        cout<<">";
    else if(x<y)
        cout<<"<";
    else
        cout<<"=";
    return 0;    
}
06

#include <iostream>
using namespace std;
int main()
{
    int n;
    cin>>n;
    if((n/10)>0&&(n/10)<10)
        cout<<1;
    else
        cout<<0;
    return 0;    
}
07

#include <iostream>
using namespace std;
int main()
{
    int a,b;
    cin>>a>>b;
    if(a>=10||b>=20)
        cout<<1;
    else
        cout<<0;
    return 0;    
}
08

#include <iostream>
using namespace std;
int main()
{
    int a;
    cin>>a;
    if(a%3==0&&a%5==0)        //判断能否同时被3和5整除
        cout<<"YES";
    else
        cout<<"NO";
    return 0;
}
09

#include <iostream>
using namespace std;
int main()
{
    int n;
    cin>>n;
    if(n%3==0)
        cout<<"3 ";
    if(n%5==0)
        cout<<"5 ";
    if(n%7==0)
        cout<<"7";
    if(n%3!=0&&n%5!=0&&n%7!=0)
        cout<<"n";
    return 0;
}
10

#include <iostream>
using namespace std;
int main()
{
    int a,b;
    cin>>a>>b;
    if((a>=60&&b>=60)||(a<60&&b<60))
        cout<<0;
    else
        cout<<1;
    return 0;
}
11

#include <iostream>
using namespace std;
int main()
{
    int a;
    cin>>a;
    if(a==1||a==3||a==5)
        cout<<"NO";
    else
        cout<<"YES"; 
    return 0;
}
12

#include <iostream>
using namespace std;
int main()
{
    double a,t1,t2;
    cin>>a;
    t1=a/1.2;
    t2=a/3.0+27+23;
    if(t1>t2)
        cout<<"Bike";
    else if(t1<t2)
        cout<<"Walk";
    else
        cout<<"All"; 
    return 0;
}
13

#include <iostream>
#include <stdio.h>
using namespace std;
int main()
{
    double x,y;
    cin>>x;
    if(x>=0&&x<5)
        y=-x+2.5;
    else if(x>=5&&x<10)
        y=2-1.5*(x-3)*(x-3);
    else if(x>=10&&x<20)
        y=x/2-1.5;
    printf("%.3lf",y);
    return 0;
}
14

#include <stdio.h>
using namespace std;
int main ()
{
    char c;
    int m,s=0;
    scanf("%d",&m);
    c=getchar();
    c=getchar();   
    if(m<=1000)
         s=0; 
    else 
    {
        s=(m-1000)/500;
        if(s*500!=m-1000)
            s++;                //不足500的运费+1 
        s*=4;
    }
    if(c=='y') 
        s+=5; 
    printf("%d",s+8); 
    return 0;
}
15

#include <iostream>
using namespace std;
int main()
{
    int a,b,c;
    cin>>a>>b>>c;
    int t,n;
    if(a>=b)
    {
        t=b;
        b=a;
        a=t;
    }
    if(c>=b)
        cout<<c;
    else
        cout<<b;
    return 0;    
}
16

#include <iostream>
using namespace std;
int main()
{
    int a,b,c;
    int i,j;
    cin>>a>>b>>c;
    if(a>b)
    {
        i=a;
        a=b;
        b=i;
    }
    if((b>=c&&c>=a)||(b>=c&&a>=c))
        if((a+c)>b)
            cout<<"yes";
        else
            cout<<"no";
    else if(c>=b&&b>=a)
        if((a+b)>c)
            cout<<"yes";
        else
            cout<<"no";
    return 0;    
}
17

#include <iostream>
using namespace std;
int main()
{
    int n;
    cin>>n;
    if((n%4==0&&n%100!=0)||n%400==0)
        cout<<"Y";
    else
        cout<<"N";
    return 0;
}
 18

#include <iostream>
using namespace std;
int main()
{
    int a,b;
    cin>>a>>b;
    if((a>=-1&&a<=1)&&(b>=-1&&b<=1))
        cout<<"yes";
    else
        cout<<"no";
    return 0;    
}
19

#include <iostream>
using namespace std;
int main()
{
    int a,b;
    char c;
    cin>>a>>b>>c;
    if(c=='+')
        cout<<a+b;
    else if(c=='-')
        cout<<a-b;
    else if(c=='*')
        cout<<a*b;
    else if(c=='/')
    {    
        if(b!=0)
            cout<<a/b;
        else
            cout<<"Divided by zero!";
    }
    else
        cout<<"Invalid operator!";
    return 0;    
}
20

#include <iostream>
#include <stdio.h>
#include <math.h> 
using namespace std;
int main()
{
    double a,b,c,x;
    cin>>a>>b>>c;
    if(b*b==4*a*c)
        printf("x1=x2=%.5f",(-b+sqrt(b*b-4*a*c))/(2*a));
    else
    {
        if(b*b>4*a*c)
            printf("x1=%.5f;x2=%.5f",(-b+sqrt(b*b-4*a*c))/(2*a), (-b-sqrt(b*b-4*a*c))/(2*a));
        else
        {
            x=(-b/(2*a));
            if(x==-0.00000)
                x=0;
            printf("x1=%.5f+%.5fi;x2=%.5f-%.5fi",x,(sqrt(4*a*c-b*b)/(2*a)),x,(sqrt(4*a*c-b*b)/(2*a)));
        }
    }
    return 0;
}
21

#include <iostream>
using namespace std;
int main()
{
    int n=0,x=0,y=0;
    int eat=0,rest=0;            //定义吃掉的个数和剩余个数
    cin>>n>>x>>y;                
    if(y%x==0)
        eat=y/x;                     //求吃掉的个数
    else
        eat=y/x+1;
    if(n>eat)
        rest=n-eat;                //求剩余个数并输出
    else
        rest=0;
    cout<<rest<<endl;
    return 0;
}
                                  NOI / 1.5编程基础之循环控制
01

#include <stdio.h>
using namespace std;
int main ()
{
    int n,a,i;
    float sum=0;
    scanf("%d",&n);
    for(i=1;i<=n;i++)
    {
        scanf("%d",&a);
        sum+=a;
    }
    printf("%.2f",sum/n);
    return 0;
}
02

#include <iostream>
#include <stdio.h>
using namespace std;
int main()
{
    float a[12],sum=0;
    int i;
    for(i=0;i<12;i++)
        cin>>a[i];
    for(i=0;i<12;i++)
    {
        sum+=a[i];
    }
    printf("$%.2lf",sum/12);
        return 0;
}
03

#include <iostream>
#include <stdio.h>
using namespace std;
int main()
{
    int n,i;
    double a[100],j=0;
    cin>>n;
    for(i=1;i<=n;i++)
    {
        cin>>a[i];
        j+=a[i];
    }
    printf("%.4lf",j/n);
    return 0;
}
04

#include <stdio.h>
using namespace std;
int main()
{
    int n,i,s[10000];
    long sum=0;
    scanf("%d",&n);
    for(i=0;i<n;i++)
    {
        scanf("%d",&s[i]);
        sum+=s[i];
    }    
    printf("%d %.5lf",sum,(double)sum/n);
        return 0;
}
05

#include <stdio.h>
using namespace std;
int main()
{
    int n,i,s[10000];
    long sum=0;
    scanf("%d",&n);
    for(i=0;i<n;i++)
    {
        scanf("%d",&s[i]);
        sum+=s[i];
    }    
    printf("%d %.5lf",sum,(double)sum/n);
        return 0;
}
06

#include <iostream>
using namespace std;
int main()
{
    int n,i,j,t;
    int a[1005];
    cin>>n;
    for(i=0;i<n;i++)
        cin>>a[i];
    for(j=0;j<n-1;j++)
    {
        for(i=0;i<n-j-1;i++)
        {
            if(a[i+1]<a[i])
            {
                t=a[i+1];
                a[i+1]=a[i];
                a[i]=t;                    //交换次序
            }
        }
    }
    cout<<a[n-1]-a[0];
    return 0;
}
07

#include <iostream>
using namespace std;
int main()
{
    int n,i,x=0,y=0,z=0;
    int a[20],b[20],c[20];
    cin>>n;
    for(i=0;i<n;i++)
        cin>>a[i]>>b[i]>>c[i];
    for(i=0;i<n;i++)
    {
        x+=a[i];
        y+=b[i];
        z+=c[i];                    //对应相加即可
    }
    cout<<x<<" "<<y<<" "<<z<<" "<<x+y+z;
    return 0;
}
08

#include <iostream>
using namespace std;
int main()
{
    int n,a,i,s=0;
    cin>>n;
    for(i=1;i<n;i++)
    {
        cin>>a;
        s+=a;
    }
    cout<<(n-2)*180-s;
    return 0;
}
09

#include <iostream>
using namespace std;
int main()
{
    int m,n,i,sum=0;
    cin>>m>>n;
    for(i=m;i<=n;i++)
    {
        if(i%2==1)
        {
            sum+=i;                //如果为奇数,则相加
        }
    }
    cout<<sum;
    return 0;
}
10

#include <iostream>
using namespace std;
int main()
{
    int m,n,i,sum=0;
    cin>>m>>n;
    for(i=m;i<=n;i++)
    {
        if(i%17==0)                //找到能被17整除的数
        {
            sum+=i;                //相加
        }    
    }
    cout<<sum;
    return 0;
}
11

#include <iostream>
using namespace std;
int main()
{
    int k,i,j,x=0,y=0,z=0;
    int a[105];
    cin>>k;
    for(i=0;i<k;i++)
        cin>>a[i];
    for(i=0;i<k;i++)
    {
        if(a[i]==1)
            x++;
        if(a[i]==5)
            y++;
        if(a[i]==10)
            z++;
    }
    cout<<x<<endl;
    cout<<y<<endl;
    cout<<z<<endl;
        return 0;
}
12

#include <iostream>
using namespace std;
int main()
{
    int n,m,i,sum=0;
    int a[105];
    cin>>n>>m;
    for(i=0;i<n;i++)
        cin>>a[i];
    for(i=0;i<n;i++)
        if(a[i]==m)
            sum++;
    cout<<sum;
    return 0;
}
13

#include <iostream>
using namespace std;
int main ()
{
    int a,i,n,s=1;
    cin>>a>>n;
    for(i=1;i<=n;i++)
        s=s*a;
    cout<<s;
    return 0;
}
14

#include <iostream>
using namespace std;
int main()
{
    int n,i;
    double x;
    int a[105];
    cin>>x>>n;
    for(i=0;i<n;i++)
        x*=(1+0.001);
    printf("%.4lf",x);
    return 0;
}
15

#include <iostream>
using namespace std;
int main()
{
    int r,y,i;
    double s,m;
    cin>>r>>m>>y;
    for(i=0;i<y;i++)
        m*=(1+0.01*r);
    cout<<(int)m;                //把m强制转换成int类型
    return 0;
}
16

#include <stdio.h>
using namespace std;
int main()
{
    double n,k,m,s=200,a=0;        //n为年薪,k为增长率,m为买下房子的时间,a为第几年后的年薪和
    scanf("%lf %lf",&n,&k);
    for(m=1;m<=20;m++)
    {
        a=a+n;                        //年薪相加
        if(a>=s)                    //年薪和大于房价
        {
            printf("%g",m);
            return 0;
        }
        s=s*(k/100+1);                //增长后的房价
    }
    printf("Impossible");
    return 0;
}
17

#include <iostream>
using namespace std;
int main()
{
    int k,i,sum=0;
    int a[50];
    cin>>k;
    a[0]=1;
    a[1]=1;
    for(i=2;i<=k;i++)            //起始时i=2而不是i=0,因为当i=0时,a[i-2]不成立
        a[i]=a[i-1]+a[i-2];        
    cout<<a[k-1];
    return 0;
}
18

#include <iostream>
using namespace std;
int main()
{
    int n,i;
    double x,y;
    double a[25],b[25];
    cin>>n;
    for(i=0;i<n;i++)
        cin>>a[i]>>b[i];
    x=b[0]/a[0];
    for(i=1;i<n;i++)
    {
        y=b[i]/a[i];
        if((y-x)>0.05)
            cout<<"better"<<endl;
        else if((x-y)>0.05)
            cout<<"worse"<<endl;
        else
            cout<<"same"<<endl;
    }
    return 0;
}
19

#include <iostream>
#include <cmath>
using namespace std;
int main()
{
    int n,people;
    double x,y,d,time=0;
    cin>>n;
    for(int i=0;i<n;i++)
    {
        cin>>x>>y>>people;
        d=sqrt(x*x+y*y)*2; 
        time+=1.5*people+d/50;
    }
    cout<<ceil(time)<<endl;        //ceil向上取整,取大于或等于它本身的整数,需包含<cmath>
    return 0;
}
20

#include <iostream>
using namespace std;
int main()
{
    double h,s=0;
    cin>>h;
    for(int i=0;i<10;i++)
        {
        s+=1.5*h;
        h/=2;
    }
    s-=h;
    cout<<s<<endl;
    cout<<h<<endl;
    return 0;
}
21

#include <iostream>
using namespace std;
int main()
{
    long long n;
    cin>>n;
    if(n==1)
        cout<<"End";
    else
    {
        while(n!=1)
        {
            if(n%2==1)
            {
                cout<<n<<"*3+1="<<3*n+1<<endl;
                n=3*n+1;
            }
            else
            {
                cout<<n<<"/2="<<n/2<<endl;
                n/=2;
            }
        }
        cout<<"End";
    }
    return 0;
}
22

#include <iostream>
using namespace std;
int main()
{
    int i,sum1=0;
    int a[15];
    double sum2=0;
    for(i=1;i<=12;i++)
        cin>>a[i];
    for(i=1;i<=12;i++)
    {
        sum1+=300;
        if(sum1<a[i])
        {
            cout<<-i;
            break;
        }
        sum1-=a[i];
        if(sum1>100) 
        {
            sum2+=sum1/100*100;
            sum1=sum1%100;
        }
    }
    if(i==13)
        cout<<sum2*1.2+sum1;
    return 0;
}
23

#include <iostream>
using namespace std;
int main()
{
    int m,n,i,sum=0;
    int a[105];
    cin>>m>>n;
    for(i=1;i<=n;i++)
        cin>>a[i];
    for(i=1;i<=n;i++)
    {
        
        if(m>=a[i])
            m-=a[i];
        else
        {
            sum++;
            continue;
        }
    
    }
    cout<<sum;
    return 0;
}
24

#include <iostream>
#include <iomanip>
#include <cmath>
using namespace std;
bool isNormal(int high, int low)
{
        if (high>=90&&high<=140&&low>=60&&low<=90)
            return true;
        return false;
}
int main()
{
        int n, high, low, temp=0, x=0;
        bool last=false; // 记录上一个小时是否正常
        cin >> n;
        for (int i=0; i<n; i++){
            if (!last) temp = 0;
            cin >> high >> low;
            last = isNormal(high, low);
            if (last){
                temp++;
                if (temp > x) x = temp;
            }
        }
        cout << x << endl;
        return 0;
}
25

#include <iostream>
using namespace std;
int main()
{
    int i;
    for (i = 65; i <= 342; i++) {
        if ((i % 9 == i / 49) &&
            (i / 9 % 9 == i / 7 % 7) &&
            (i / 81 == i % 7)) {
            cout << i << endl;
            cout << i / 49 << i / 7 % 7 << i % 7 << endl;
            cout << i / 81 << i / 9 % 9 << i % 9 << endl;
            break;
        }
    }
    return 0;
}
26

#include <iostream>
using namespace std;
int main()
{
    int n,i,sum=0;
    int b,c,d,e;
    int a[105];
    cin>>n;
    for(i=0;i<n;i++)
        cin>>a[i];
    for(i=0;i<n;i++)
    {
        e=a[i]%10;
        a[i]=a[i]/10;
        d=a[i]%10;
        a[i]=a[i]/10;
        c=a[i]%10;
        a[i]=a[i]/10;
        b=a[i]%10;
        if((e-b-c-d)>0)
            sum++;
    }
    cout<<sum;
    return 0;
}
27

#include <iostream>
using namespace std;
int main()
{
        int k,i=1;
        double s,sum=0;
        cin>>k;
        while(sum<=k)
        {
            s=1.0/i;
            sum+=s;
            i++;
        }
        cout<<i-1;
        return 0;
}
28

#include <iostream>
using namespace std;
int main()
{
    long n;
    int i,a;
    cin>>n;
    while(n!=0)
    {
        a=n%10;
        n/=10;
        cout<<a<<" ";
    }
    return 0;
}
29

#include<iostream>
#include<cmath>
using namespace std;
int main()
{
        int n;
        int s=0;
        cin>>n;
        if(n<0) 
            cout<<"-";
        n=abs(n);
        do
        {
            s=s*10+n%10;
            n/=10;
        }while(n>0);
        cout<<s;
        return 0;
}
30

#include<iostream>
using namespace std;
int main()
{
        int m,k,a,sum=0;
        cin>>m>>k;
        int p=m;
        for(;m>0;m/=10)
        {
            a=m%10;
            if(a==3)
                sum++;
        }
        if((sum==k)&&(p%19==0))
            cout<<"YES";
        else
            cout<<"NO";
            return 0;
}
31

#include <iostream>
using namespace std;
int main()
{
    int n,m,i,j,flag;
    cin>>n>>m;
    cout<<1;
    for(i=2;i<=n;i++)
    {
        flag=1;
        for(j=1;j<=m;j++)
        {
            if(i%j==0)
            {
                if(flag==0)
                    flag=1;
                else
                    flag=0;
            }
            else
                continue;
        }
        if(flag==0)
            cout<<","<<i; 
    }
    return 0;

32

#include <iostream>
#include <stdio.h>
using namespace std;
int main()
{
    int n,i;
    double sum=0;
    double a[35],b[35],c[35];
    cin>>n;
    a[0]=2;
    b[0]=1;
    for(i=1;i<n;i++)
    {
        a[i]=a[i-1]+b[i-1];
        b[i]=a[i-1];
        c[i]=a[i]/b[i];
        sum+=c[i];
    }
    sum=sum+2.0;
    printf("%.4lf",sum);
    return 0;

33

#include <iostream>
#include <stdio.h>
using namespace std;
int main()
{
    int n,i;
    double s=0;
    cin>>n;
    for(i=1;i<=n;i++)
    {
        if(i%2==0)
            s=s-1/double(i);
        else
            s=s+1/double(i);
    }
    printf("%.4lf",s);
    return 0;
}
34

#include<iostream>
#include<stdio.h>
using namespace std;
int main ()
{
    int n,j,s=1,sum=0;
    cin>>n;
    for(j=1;j<=n;j++){
        s=s*j;
        sum+=s;
    }
    cout<<sum;
    return 0;
}
35

#include <iostream>
#include <stdio.h>
using namespace std;
int main()
{
    int n;
    double i,j=1,s=0,e=0;
    cin>>n;
    for(i=1;i<=n;i++)
    {
        j*=1/i;
        s+=j;
    }
    e=s+1;
    printf("%.10lf",e);
    return 0;
}
36

#include <iostream>
#include <stdio.h>
using namespace std;
int main()
{
    int n,i;
    double x,y=0;
    cin>>x>>n;
    double s=x;
    for(i=1;i<=n;i++)
    {
        y=y+s;
        s=s*x;
    }
    y=y+1;
    printf("%.2lf",y);
    return 0;
}
37

#include <iostream>
using namespace std;
int main()
{
    int m,n,x,t;
    cin>>m>>n>>x;
    while(x>0)
    {
        t=m/n;
        if(m%n!=0)
            t++;            //这个t不是上升过后的点数 
        if(x<t)
            break;            //当x<t,即x-t<0,能量元素小于零,跳出循环 
        x-=t;                //减过后的能量元素 
        t=m/n;
        n+=t;                //战斗力上升过后的点数 
    }
    cout<<n;
    return 0;
}
38

#include<cstdio>
int main()
{
        int n,c;
        scanf("%d",&n);
        if(!n)
        {
            printf("0");
            return 0;
        }
        for(int i=n;i>0;i--)
        {
            scanf("%d",&c);
            printf("%d ",c*i);
        } 
        return 0;
}
39

#include <iostream>
using namespace std;
int main()
{
    int n,i,j,sum=0;
    cin>>n;
    for(i=1;i<=n;i++)
    {
        if((i%7)!=0&&(i%10)!=7&&(i/10)!=7)
        {
            j=i*i;
            sum+=j;
        }
    }
    cout<<sum;
    return 0;
}
40

#include <iostream>
using namespace std;
int main()
{
    int n,i,temp,sum=0;
    cin>>n;
    for(i=1;i<=n;i++)
    {
        temp=i;
        while(temp!=0)
        {
            if(temp%10==1)
                sum++;
            temp/=10;
        }
    }
    cout<<sum;
    return 0;
}
41

#include <iostream>
using namespace std;
int main()
{
    int L,R;
    int i,n,sum=0;
    cin>>L>>R;
    for(i=L;i<=R;i++)
    {
        n=i;
        while(n!=0)
        {
            if(n%10==2)
                sum++;
            n/=10;
        }
    }
    cout<<sum;
    return 0;
}
42

#include <iostream>
using namespace std;
int main()
{
    int h,w,i,j;
    char n;
    bool x;
    cin>>h>>w>>n>>x;
    for(i=1;i<=h;i++)
    {    
        if(x==1)
            for(j=1;j<=w;j++)
                cout<<n;    
        if(x==0)
            for(j=1;j<=w;j++)
                if(i!=1&&i!=h&&j!=1&&j!=w)
                    cout<<" ";
                else
                    cout<<n;
        cout<<endl;
    }
    return 0;
}
43

#include <iostream>
#include <math.h>
using namespace std;
int main()
{
        int n;
        cin>>n;
        for(int i=2;i<sqrt(n);i++)
            if(n%i==0)
            {
                cout<<n/i;
                break;
            } 
        return 0;
}
44

#include<iostream>
#include<math.h>
using namespace std;
int main()
{
    long n,i=2,count=0;
    long j,flag,t;
    cin>>n;   
    while(count<n)
    {
        j=2;
        flag=0;
        for(j=2;j<=sqrt(i);j++)
        {
            if(i%j==0)
            {
                flag=1;
                break;
            }
        }
        if(flag==0)   
            count++;
        i++;
    }
    cout<<i-1;
    return 0;
}
45

#include<iostream>
using namespace std;
int main()
{
    int n;
    cin>>n;
    int t=0,s=0,z=0;//t表示当前每天可以得到几枚金币,s表示当前金币总数,z表示当前总天数 
    while(1)
    {
        t++;
        if(t+z>n) 
            break;
        s+=t*t;       
        z+=t;
    }
    for(int i=z+1;i<=n;i++) 
        s+=t;
    cout<<s;
    return 0;
}
                     1.6编程基础之一维数组
01

#include<iostream>
using namespace std;
int main()
{
    int n;
    cin>>n;
    int num[102]={};
    for(int i=0;i<n;++i)cin>>num[i];
    int m,count=0;cin>>m;
    for(int i=0;i<n;++i)
    {
        if(num[i]==m)++count;
     } 
    cout<<count;
    return 0;
 } 
02

#include<iostream>
using namespace std;
int main()
{
    int num[102]={};
    for(int i=0;i<10;++i)cin>>num[i];
    int m,count=0;cin>>m;
    for(int i=0;i<10;++i)
    {
        if(num[i]<=m+30)++count;
     } 
    cout<<count;
    return 0;
 } 
03

#include<iostream>
using namespace std;
int main()
{
    double temp,num[10]={28.9,32.7,45.6,78,35,86.2,27.8,43,56,65},sum=0;
    for(int i=0;i<10;++i)
    {
        cin>>temp;
        sum+=temp*num[i];
    }
    printf("%.1f",sum); 
    return 0;

04

#include<iostream>
using namespace std;
int main()
{
    int n,num[102]={};
    cin>>n;
    for(int i=0;i<n;++i)
    {
        cin>>num[i];
    }
    cout<<num[n-1];
    for(int i=n-2;i>=0;--i)
    {
        cout<<" "<<num[i];
    }
    return 0;

05

#include<iostream>
using namespace std;
int main()
{
    int n,temp;
    double num[4]={};
    cin>>n;
    for(int i=0;i<n;++i)
    {
        cin>>temp;
        if(0<=temp&&temp<=18)
        {
            num[0]++;
        }
        else if(temp<=35)
        {
            num[1]++;
        }
        else if(temp<=60)
        {
            num[2]++;
        }
        else
        {
            num[3]++;
        }
    }
    for(int i=0;i<4;++i)
    {
        printf("%.2f%%
",num[i]/n*100.0);
    }
    return 0;

06

#include<iostream>
using namespace std;
int tree[10001];
int main()
{
    int L,M;
    cin>>L>>M;
    int a,b;
    for(int i=1;i<=M;++i)
    {
        cin>>a>>b;
//        cout<<a<<","<<b<<endl; 
        for(int j=a;j<=b;++j)
        {
            tree[j]=1;
//            cout<<j<<endl;
        }
    }
    int count=0;
    for(int i=0;i<=L;++i)
    {
        if(tree[i]==0)
        {
            ++count;
//            cout<<i<<endl;    
        }
    }
    cout<<count;
    return 0;

07

#include<iostream>
#include<cmath>
#include <algorithm>
using namespace std;
int tree[10001];
int main()
{
    int n;
    int num[3001]={},temp[3001]; 
    cin>>n;
    cin>>temp[0];
    for(int i=1;i<n;++i)
    {
        cin>>temp[i];
        num[i-1]=abs(temp[i]-temp[i-1]);
    }
    sort(num,num+n);
    int flag=1;
    for(int i=0;i<n-2;++i)
    {
        if((num[i+1]-num[i])!=1)
        {
            flag=0;break;
        }
    }
    if(flag)
    {
        cout<<"Jolly";
    }
    else
    {
        cout<<"Not jolly";
    }
    return 0;

08

#include<iostream>
#include<cmath>
#include <algorithm>
using namespace std;
int tree[10001];
bool Cmp(int a,int b)
{
    if(a==0&&b==2)
    {
        return 1;
    }
    else if(a==2&&b==5)
    {
        return 1;
    }
    else if(a==5&&b==0)
    {
        return 1;
    }
    else
    {
        return 0;
    }
}
int main()
{
    int n,na,nb;
    int ca=0,cb=0;
    int A[101]={},B[101]={};
    cin>>n>>na>>nb; 
    for(int i=0;i<na;++i)cin>>A[i]; 
    for(int i=0;i<nb;++i)cin>>B[i]; 
    for(int i=0;i<n;++i)
    {
        if(Cmp(A[i%na],B[i%nb])) ca++;
        if(Cmp(B[i%nb],A[i%na])) cb++;
    }
    if(ca>cb)
    {
        cout<<"A";
    }
    else if(cb>ca)
    {
        cout<<"B";
    }
    else
    {
        cout<<"draw";    
    } 
    return 0;

09

#include<iostream>
#include<cmath>
#include <algorithm>
using namespace std;

int main()
{
    int n,sum=0;
    int a[1001]={},b[1001]={};
    cin>>n;
    for(int i=0;i<n;++i)cin>>a[i];
    for(int i=0;i<n;++i)cin>>b[i];
    for(int i=0;i<n;++i)
    {
        sum+=a[i]*b[i];
    }
    cout<<sum;
    return 0;

10

#include<iostream>
#include<cmath>
#include<algorithm>
#include<string> 
using namespace std;
int res[20000];
int ada[20000],adb[20000];
int to_Int(char a)
{
    return a-'0';
}
int main()
{
    string a,b;
    int index=0;
    cin>>a>>b;
    if(a=="0"&&b=="0")
    {
        cout<<0;
        return 0;
    }
    int start=max(a.length(),b.length());
    for(int i=a.length()-1,j=0;i>=0;--i,++j)ada[j]=to_Int(a[i]);
    for(int i=b.length()-1,j=0;i>=0;--i,++j)adb[j]=to_Int(b[i]);
    
    for(int i=0;i<start;++i,++index)
    {
        res[index]=res[index]+ada[i]+adb[i];
        if(res[index]>9)
        {
            res[index]-=10;
            res[index+1]++;
        }
    }
    int i;
    for(i=index;res[i]==0;--i);
    for(;i>=0;--i)cout<<res[i];
    return 0;

11

#include<iostream>
#include<cmath>
#include<algorithm>
#include<string> 
using namespace std;
int res[20000];
int ada[20000],adb[20000];
int to_Int(char a)
{
    return a-'0';
}
int main()
{
    string a,b;
    int index=0;
    cin>>a>>b;
    int start=max(a.length(),b.length());
    for(int i=a.length()-1,j=0;i>=0;--i,++j)ada[j]=to_Int(a[i]);
    for(int i=b.length()-1,j=0;i>=0;--i,++j)adb[j]=to_Int(b[i]);
    
    for(int i=0;i<start;++i,++index)
    {
        res[index]=ada[i]-adb[i];
        if(res[index]<0)
        {
            int indexa=i;
            res[index]+=10;indexa++;
            ada[indexa]--;
            while(ada[indexa]<0)
            {
                ada[indexa]+=10;
                indexa++;
                ada[indexa]--;
            }
        }
//        cout<<">>"<<res[index]<<endl;
    }
    int i,flag=1;
    for(i=index;res[i]==0;--i);
    for(;i>=0;--i)
    {
        cout<<res[i];flag=0;
    }
    if(i<0&&flag)cout<<0;
    return 0;

12
#include<iostream>
#include<cmath>
using namespace std;
int main()
{
    int n;cin>>n;
    printf("%.0lf",pow(2,n));
    return 0;

13

#include<iostream>
#include<cmath>
#include<algorithm>
using namespace std;
int main()
{
    string c;
    int index=0,flag=0;
    cin>>c;
    for(int i=2;i<=9;++i)
    {
        int index=0;
        for(int j=0;j<c.length();++j)
        {
            index=(index*10+c[j]-'0')%i;
        }
        if(!index)
        {
            flag=1;cout<<i<<" ";
        }
    }
    if(!flag)
    {
        cout<<"none";
    }    
    return 0;

14

#include<iostream>
#include<cmath>
#include<algorithm>
using namespace std;
int ans[100000010];
int main()
{
    int n,j,add=0,index=1;
    cin>>n;
    ans[1]=1;
    for(int i=2;i<=n;++i)
    {        
        for(int j=1;j<=index;++j)
        {
            ans[j]*=i;    
        }
        for(int j=1;j<=index;++j)
        {
            if(ans[j]>=10)
            {
                ans[j+1]+=ans[j]/10;
                ans[j]%=10; 
            }
        }
        while(ans[index+1]>0)
        {
            index++;
            ans[index+1]=ans[index]/10;
            ans[index]%=10;    
        }        
    }
    for(int i=index;i>=1;--i) cout<<ans[i];
    return 0;
}
15:

#include<iostream>
using namespace std;
#define N 100000
int a[N],n,tot=1,lena=1,ans[N];
int main()
{
    cin>>n;
    a[1]=1;ans[1]=1;
    for(int i=2;i<=n;i++)
    {
        for(int j=1;j<=lena;j++)a[j]*=i;
        for(int j=1;j<=lena;j++)
        {
            if(a[j]>9)
            {
                a[j+1]+=a[j]/10;
                a[j]%=10;
                if(j==lena)lena++;
            }
        }
        tot=max(lena,tot);
        for(int j=1;j<=tot;j++)
            ans[j]+=a[j];
        for(int j=1;j<=tot;j++)
            if(ans[j]>9)
            {
                ans[j+1]++;
                ans[j]-=10;
                if(tot==j)tot++;
            }
    }
    for(int i=tot;i>=1;i--)cout<<ans[i];
    cout<<endl;
} 

noi题库1.1~1.6答案相关推荐

  1. noi题库c语言 1.5答案,NOIP2004提高组复赛试题答案c语言版

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 bool finish, hash[256], used[27]; int n, stk[27]; string a, b, c; string word ...

  2. NOI题库 scratch题解(部分)

    1.3编程基础之算术表达式与顺序执行 01 A+B问题 1.3编程基础之算术表达式与顺序执行 01 A+B问题_dllglvzhenfeng的博客-CSDN博客 1.3编程基础之算术表达式与顺序执行 ...

  3. noi题库1010. 邮寄包裹

    noi题库1010. 邮寄包裹 题目描述 某邮局对邮寄包裹有如下规定:若包裹的重量超过30千克,不予邮寄,对可以邮寄的包裹每件收手续费0.2元,再加上根据下表按重量wei计算的结果: 重量(千克) 收 ...

  4. noi题库1005. 存款收益

    noi题库1005. 存款收益 题目描述 按年利率R%存入本钱X,存入P年后的本利合计为Y=X*((100+R)/100)^P,求Y的值. 输入 输入一行三个空格隔开的实数R,X,P 输出 输出收益Y ...

  5. NOI题库 python题解-2022.01.07整理(1.4-1.7)

    python && C++ NOI编程题解1.4 https://blog.csdn.net/yigezzchengxuyuan/article/details/86651658 ht ...

  6. NOI题库 python题解-2022.01.07整理(1.1-1.3)

    python && C++ NOI编程题解1.1 https://blog.csdn.net/yigezzchengxuyuan/article/details/86582640 ht ...

  7. NOI题库 7654 等差数列末项计算

    http://noi.openjudge.cn/math/7654/ /* NOI题库 7654 等差数列末项计算 http://noi.openjudge.cn/math/7654/ */ #inc ...

  8. python数据分析基础试题及答案_Python数据分析与数据可视化题库免费期末考试2020答案...

    Python数据分析与数据可视化题库免费期末考试2020答案 更多相关问题 风险管理是一个不断发展变化的演变过程.在风险管理演变过程中,大多数现代风险管理形式是从()中 以下哪项是虚证闭经的主要病机A ...

  9. 公众号题库系统接口-网课答案解析接口

    公众号题库系统接口-网课答案解析接口 本平台优点: 多题库查题.独立后台.响应速度快.全网平台可查.功能最全! 1.想要给自己的公众号获得查题接口,只需要两步! 2.题库: 题库:题库后台(点击跳转) ...

  10. python刷题 NOI题库 python题解 洛谷、牛客网、AcWing 刷题等

    NOI题库 python题解-2022.01.07整理(1.1-1.3) NOI题库 python题解-2022.01.07整理(1.1-1.3)_dllglvzhenfeng的博客-CSDN博客 N ...

最新文章

  1. 【Data Algorithms CHP07】数组生成组合排列
  2. Nginx —— 检查配置文件nginx.conf的正确性命令(-t)
  3. BZOJ.2707.[SDOI2012]走迷宫(期望 Tarjan 高斯消元)
  4. 16位汇编 写入显存B800:0000 输出字符串
  5. I2C设备驱动编写,struct i2c_device_id,struct i2c_driver,i2c_add_driver,i2c_register_board_info
  6. 我也想对广大程序员说一些话
  7. 南阳14(会场安排问题)
  8. Cocos2Dx之处理键盘输入
  9. 辞去程序员一职,我后悔了吗?
  10. gson和json-lib的区别
  11. perl - Java调用perl
  12. Python中subprocess学习
  13. 看病要排队 (hdu1873,优先队列)
  14. ECSHOP集成百度ueditor编辑器上传图片到服务器或又拍云(七牛云)
  15. logback介绍和配置详解
  16. 博通网卡管理软件Linux,Broadcom博通网卡管理软件 V16.6.2.10官方安装版
  17. 小感之绝知此事要躬行
  18. 成功解决windows系统开机时,系统提示此windows副本不是正版
  19. Android系统之路(初识MTK) ------ make update-api长按Power键添加Reboot项/内置默认Ringtone/SMS/Notification/Alarm删除系统铃声
  20. 做SEO优化的目的到底是什么

热门文章

  1. ZIP和RAR文件的不同
  2. 利用python进行数据分析学习笔记(六+七)
  3. 微信小程序+vant Weapp Slider 滑块实现滑动拖动计数器
  4. 智慧供应链的学习笔记(库存管理、配补货、仓间调拨、控制塔等)
  5. 2010年6月CCNA题库新增15道新题视频讲解
  6. node.js打包失败_与专家讨论Node.js-全部失败
  7. 晶体管电路设计下 【日】铃木雅臣
  8. 锐捷交换机VSU配置
  9. h3c交换机服务器无响应,华为(H3C)交换机版本升级遇到的问题总结
  10. 把html模板vue框架,vue框架搭建个人博客网站模板