• Openjudge 1.5 循环控制


    1.5.4

    #include <iostream>
    #include <cstdio>
    #include <cmath>
    using namespace std;
    int main(){
        int n;
        int hih[10001];
        int sum;
        scanf("%d",&n);
        for(int i=0;i<n;i++){
        	scanf("%d",&hih[i]);
        	sum+=hih[i];
    	}
    	float avera;
    	avera=float(sum)/float(n);
    	printf("%d %.5f",sum,avera);
    	return 0;}
    

    1.5.6

    #include <bits/stdc++.h>using namespace std;int main(){
        int count;
        cin>>count;
        int num;
        int min=1000;
        int max=0;
        for(int i=0;i<count;i++)
        {
       	cin>>num;
            if(max<num)
                max=num;
            if(min>num)
                min=num;
        }
        cout<<max-min;
        return 0;}
    

    1.5.9

    对于奇偶,偶偶,奇奇开头的所有情况要全部包含

    #include <iostream>
    #include <cstdio>
    #include <cmath>
    using namespace std;
    int main(){
        int m,n;
        scanf("%d%d",&m,&n);
        int k,l;
        k=0;
        //cout<<m<<"/"<<n<<"/"<<k<<"/"<<sum<<"/"<<endl;
        for(int i=m;i<=n;i++){
        	if(i%2!=0){
        		k+=i;
    		}
        //	cout<<i<<"/"<<m<<"/"<<sum<<endl; 
    	} 
    	cout<<k<<endl;
    	return 0;}
    

    1.5.15

    http://noi.openjudge.cn/ch0105/15/

    15:银行利息

    农夫约翰在去年赚了一大笔钱!他想要把这些钱用于投资,并对自己能得到多少收益感到好奇。已知投资的复合年利率为(R)(0到20之间的整数)。约翰现有总值为(M)的钱(100到1,000,000之间的整数)。他清楚地知道自己要投资(Y)年(范围0到400)。请帮助他计算最终他会有多少钱,并输出它的整数部分。数据保证输出结果在32位有符号整数范围内。

    输入

    一行包含三个整数(R,M,Y),相邻两个整数之间用单个空格隔开。

    输出

    一个整数,即约翰最终拥有多少钱(整数部分)。

    样例输入

    5 5000 4

    样例输出

    6077

    (WA)(9分)

    #include <iostream>
    #include <cstdio>
    #include <cmath>
    using namespace std;
    int main(){
        double r,m,y,r1;
        scanf("%lf%lf%lf",&r,&m,&y);
        double res;
        res=m;
        r1=1+r*0.01;
        for(int i=0;i<y;i++){
        	res*=r1;
    	}
    	
    	printf("%.0lf",fabs(res-0.5));
    	return 0;}
    

    1.5.16

    http://noi.openjudge.cn/ch0105/16/

    某程序员开始工作,年薪(N)万,他希望在中关村公馆买一套60平米的房子,现在价格是200万,假设房子价格以每年百分之(K)增长,并且该程序员未来年薪不变,且不吃不喝,不用交税,每年所得N万全都积攒起来,问第几年能够买下这套房子?(第一年年薪N万,房价200万)

    输入

    一行,包含两个正整数N((10 leq N leq 50)), K((1 leq K leq 20)),中间用单个空格隔开。

    输出

    如果在第20年或者之前就能买下这套房子,则输出一个整数(M),表示最早需要在第(M)年能买下,否则输出(Impossible)

    样例输入

    50 10

    样例输出

    8

    WA(7分)

    #include <iostream>
    #include <cstdio>
    #include <cmath>
    using namespace std;
    int main()
    {
        int N,K;
        scanf("%d%d",&N,&K);
        int totalm=0,totalfj=200;
        for(int i=1;i<20;i++){
        	totalm+=N;
        	if(i==1) totalfj*=1;
        	if(i!=1) totalfj*=(1+K*0.01);
        	if(totalm>=totalfj) {
        		printf("%d",i);
        		return 0;
    		}
    	}
    	printf("Impossible");
    	return 0;
    }
    

    1.5.21

    21:角谷猜想

    所谓角谷猜想,是指对于任意一个正整数,如果是奇数,则乘3加1,如果是偶数,则除以2,得到的结果再按照上述规则重复处理,最终总能够得到1。如,假定初始整数为5,计算过程分别为16、8、4、2、1。

    程序要求输入一个整数,将经过处理得到1的过程输出来。

    输入

    一个正整数N((N leq 2,000,000))

    输出

    从输入整数到1的步骤,每一步为一行,每一部中描述计算过程。最后一行输出"(End)"。如果输入为1,直接输出"(End)"。

    http://noi.openjudge.cn/ch0105/21/

    #include <iostream>
    #include <cstdio>
    #include <cmath>
    using namespace std;
    int main( ){
    	long long k;
    	scanf("%d",&k);
    	long long ke=k;(用int时Output limit exceeded)(用long long时WA9分)
    	while(ke!=1){
    		if(ke%2==0){
    			printf("%d/2=%d
    ",ke,ke/2);
    			ke=ke/2;
    		}
    		else if(ke%2!=0){
    			printf("%d*3+1=%d
    ",ke,ke*3+1);
    			ke=ke*3+1;
    		}
    	}
    	printf("End");
    	return 0;} 
    

    1.5.21

    22:津津的储蓄计划

    津津的零花钱一直都是自己管理。每个月的月初妈妈给津津300元钱,津津会预算这个月的花销,并且总能做到实际花销和预算的相同。

    为了让津津学习如何储蓄,妈妈提出,津津可以随时把整百的钱存在她那里,到了年末她会加上(20%)还给津津。因此津津制定了一个储蓄计划:每个月的月初,在得到妈妈给的零花钱后,如果她预计到这个月的月末手中还会有多于100元或恰好100元,她就会把整百的钱存在妈妈那里,剩余的钱留在自己手中。

    例如11月初津津手中还有83元,妈妈给了津津300元。津津预计11月的花销是180元,那么她就会在妈妈那里存200元,自己留下183元。到了11月月末,津津手中会剩下3元钱。

    津津发现这个储蓄计划的主要风险是,存在妈妈那里的钱在年末之前不能取出。有可能在某个月的月初,津津手中的钱加上这个月妈妈给的钱,不够这个月的原定预算。如果出现这种情况,津津将不得不在这个月省吃俭用,压缩预算。

    现在请你根据2004年1月到12月每个月津津的预算,判断会不会出现这种情况。如果不会,计算到2004年年末,妈妈将津津平常存的钱加上20%还给津津之后,津津手中会有多少钱。

    输入

    包括12行数据,每行包含一个小于350的非负整数,分别表示1月到12月津津的预算。

    输出

    包括一行,这一行只包含一个整数。如果储蓄计划实施过程中出现某个月钱不够用的情况,输出(-X)(X)表示出现这种情况的第一个月;否则输出到2004年年末津津手中会有多少钱。

    #include <bits/stdc++.h>
    using namespace std;
    int main(){
        int num[12];
        for(int i=0;i<12;i++)
        {
            cin>>num[i];
        }
        int money=300;
        int store=0;
        int flag=true;
        for(int i=0;i<12;i++)
        {
            if(money-num[i]>=0)
            {
                store+=(money-num[i])/100*100;
                money=money-(money-num[i])/100*100-num[i]+300;
            }else{
                cout<<"-"<<i+1;
                flag=false;
                break;
            }
        }
        if(flag)
            cout<<store+store*0.2+money%300;
        return 0;}
    

    1.5.25

    25:求特殊自然数

    一个十进制自然数,它的七进制与九进制表示都是三位数,且七进制与九进制的三位数码表示顺序正好相反。编程求此自然数,并输出显示。

    输入

    无。

    输出

    三行:

    第一行是此自然数的十进制表示;
    第二行是此自然数的七进制表示;
    第三行是此自然数的九进制表示。

    #include <bits/stdc++.h>
    using namespace std;
    int get7(int num){
        int num1=0,num2=0,num3=0;
        num3=num%7;
        num=num/7;
        num2=num%7;
        num=num/7;
        num1=num;
    return num1*100+num2*10+num3;}
    int get9(int num){
        int num1=0,num2=0,num3=0;
        num3=num%9;
        num=num/9;
        num2=num%9;
        num=num/9;
        num1=num;
    return num1*100+num2*10+num3;}
    int getBack(int num){
        int num1=0,num2=0,num3=0;
        num1=num%10;
        num=num/10;
        num2=num%10;
        num=num/10;
        num3=num;
    return num1*100+num2*10+num3;}
    int main(){
        for(int i=81;i<=342;i++)
        {
            if(get7(i)==getBack(get9(i)))
                cout<<i<<endl<<get7(i)<<endl<<get9(i);
        }
        return 0;}
    
    
    

    1.5.28

    反向输出三位数(1到100000000之间)

    #include <bits/stdc++.h>
    using namespace std;
    int main(){
        int num;
        cin>>num;
        while(num>=10)
        {
            cout<<num%10<<" ";
            num=num/10;
        }
        cout<<num;
        return 0;}
    
    要做就做南波万
  • 相关阅读:
    cookie操作
    css加载动画...
    三目运算符的运用
    遍历对象长度
    2年
    相亲

    股市周期
    功利心
    思考笔记
  • 原文地址:https://www.cnblogs.com/liuziwen0224/p/11991573.html
Copyright © 2020-2023  润新知