信息学奥赛一本通---第四章--- 循环结构的程序设计--- 1085-1090 (第二,三节)题解

193 阅读1分钟

注:此为c++代码

    虽然我的代码无注释,但如想复制,必须完全搞懂代码所对应的题!

Dev c++这东西点进来的都有吧,详情见我的另一篇文章。

正式进入题解部分:          (本人小白,大佬们请勿吐槽)

1085:

#include<bits/stdc++.h>
using namespace std;
int a=1;
double sum,b,c;
int main()
{
	cin>>b;
	c=b;
	while(a<=10)
	{
		sum+=2*b;
		b/=2.0;
		a++;
	}
	cout<<sum-c<<endl<<b;
	return 0;
}

1086:

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

1087:

#include<bits/stdc++.h>
using namespace std;
int k,n=1;
double sum=1;
int main()
{ 
    cin>>k;
    while(sum<=k)
    {
        n++;
        sum+=1.0/n;
    }
    cout<<n<<endl;
    return 0;
}

1088:

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

1089:

#include<bits/stdc++.h>
using namespace std;
int n;
int sum=0;
int main()
{
    cin>>n;
    if(n<0)
    {
        cout<<"-";
        n=-n;
    }
    while(n)
    {
        sum=sum*10+n%10;
        n/=10;
    }
    cout<<sum<<endl;
    return 0;
}

1090:

#include<bits/stdc++.h>
using namespace std;
int m,k,a[5],i,num=0;
int main()
{
    cin>>m>>k
    a[0]=m/10000;
    a[1]=m%10000/1000;
    a[2]=m%1000/100;
    a[3]=m%100/10;
    a[4]=m%10;
    for(i=0; i<=4; i++) 
    {
        if(a[i]==3)
        {
            num++;
        }
    }
    if((num==k)&&(m%19==0))
    {
        cout<<"YES"<<endl;
    }
    else
    {
        cout<<"NO"<<endl;
    }
    return 0;
}

个人码风,不喜勿喷

明天发:

信息学奥赛一本通---第四章--- 循环结构的程序设计--- 1091-1101 (第四节)题解