输入格式,内部存款和储蓄器限制

20:球弹跳高度的乘除

总时间范围: 
1000ms

内部存款和储蓄器限制: 
65536kB

描述
一球从某1中度落下(整数,单位米),每回落地后反跳回原来中度的二分之一,再落下。
编制程序总计气球在第7次落地时,共通过多少米? 第七次反弹多高?

输入
输入二个平头h,表示球的上马中度。

输出
输出包蕴两行:
第贰行:到球第九次落地时,一共经过的米数。
第二行:第七次弹跳的惊人。

365体育网址,在意:结果大概是实数,结果用double类型保存。
唤醒:输出时不供给对精度特殊调整,用cout <<
ANSWEHummerH二,也许printf(“%g”, ANSWE奥迪Q5)就能够。

样例输入
20

样例输出
59.9219
0.0195313

来源
算算概论2007, XieDi

#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
int main()
{
    double n;

    double ans=0;
    double tot=0;
    cin>>n;
    double a=n;
    for(int i=1;i<=10;i++)
    {
        tot=tot+(n*2);
        n=n/2;
    }
    cout<<tot-a<<endl;
    cout<<n;
    return 0;
}

 

7-一 求奇数和(一伍 分)
核心须要测算给定的1多元正整数中奇数的和。
输入格式:
输入在一行中付出一多种正整数,其间以空格分隔。当读到零或负整数时,表示输入实现,该数字并非处理。
输出格式:
在一行中输出正整数体系中奇数的和。
输入样例:
8 7 4 3 70 5 6 101 -1
出口样例:
116

#include <stdio.h>
int main()
{
    int num,sum=0;
    scanf("%d",&num);
    while(num>0){
        if(num%2==1){
            sum+=num;
          }
        scanf("%d",&num);
    }
    printf("%d",sum);
    return 0;
}

7-2 求给定精度的大约交错类别部分和(一5 分)
核心须求编写程序,总结系列部分和 壹 – 四分一 + 1/7 – 百分之拾 + …
直到最后一项的断然值不超越给定精度eps。
输入格式:
输入在一行中付出3个正实数eps。
出口格式:
在壹行中依据“sum =
S”的格式输出部分和的值S,精确到小数点后八个人。标题保险总结结果不超越双精度范围。
输入样例1:
4E-2
输出样例壹:
sum = 0.854457
输入样例2:
0.02
出口样例二:
sum = 0.826310

#include <stdio.h>
#include <math.h>
int main(){
    int i,flag;
    double sum,num,eps;
    sum=0;
    flag=1;
    i=1;
    scanf("%lf",&eps);
    do{
        num=flag*1.0/(3*i-2);
        sum+=num;
        i++;
        flag=-flag;
    }while(fabs(num)>eps);
    printf("sum = %.6f",sum);
    return 0;
}

7-叁 求整数的位数及各位数字之和(一伍 分)
对此给定的正整数N,求它的位数及其各位数字之和。
输入格式:
输入在壹行中提交一个不超过拾
​玖​​ 的正整数N。
输出格式:
在壹行中输出N的位数及其各位数字之和,中间用三个空格隔开分离。
输入样例:
321
出口样例:
3 6

#include <stdio.h>
#include <math.h>
int main(){
    int num,sum=0,count=0;
    scanf("%d",&num);
    while(num>0){
        sum+=num%10;
        num=num/10;
        count++;
    }
    printf("%d %d",count,sum);
    return 0;
}

7-肆 最大公约数和最小公倍数(15 分)
主旨供给八个给定正整数的最大公约数和最小公倍数。
输入格式:
输入在1行中付出七个正整数M和N(≤一千)。
出口格式:
在一行中各种输出M和N的最大公约数和最小公倍数,两数字间以1空格相间。
输入样例:
511 292
输出样例:
73 2044

#include <stdio.h>
#include <math.h>
int main(){
    int n,m,i,j;
    scanf("%d %d",&n,&m);
    for (i= m; i>0; i-- ){
       if ( m%i == 0 && n%i ==0 )  {
            break;  
       } 
    }
    for(j=n;;j++){
        if(j%m==0&&j%n==0){
            break;
        }
    }
    printf("%d %d",i,j);
    return 0;
}

7-伍 寻觅最小值(20 分)
主旨供给编写程序,寻找给定壹多元整数中的最小值。
输入格式:
输入在1行中第1付诸3个正整数n,之后是n个整数,其间以空格分隔。
出口格式:
在一行中遵守“min = 最小值”的格式输出n个整数中的最小值。
输入样例:
4 -2 -123 100 0
出口样例:
min = -123

#include <stdio.h>
#include <stdlib.h>

int main(void) {
    int n,num,min;
    scanf("%d",&n);
    for(int i=1;i<=n;i++){
        scanf("%d",&num);
        if(i==1){
            min=num;
        }
        if(min>num){
            min=num;
        }
    }
    printf("min = %d",min);
    return EXIT_SUCCESS;
}

7-6 总计素数并求和(20 分)
主旨需要总计给定整数M和N区间内素数的个数并对它们求和。
输入格式:
输入在一行中付出多少个正整数M和N(1≤M≤N≤500)。
出口格式:
在1行中相继输出M和N区间内素数的个数以及它们的和,数字间以空格分隔。
输入样例:
10 31
出口样例:
7 143

#include <stdio.h>
#include <math.h>
int main(){
    int n,m,sum=0,num=0;
    scanf("%d %d",&m,&n);
    for(int i=m;i<=n;i++){
        int count=0;
        for(int j=1; j<=i; j++) {
            if(i%j==0) {
                count++;
            }
        }
        if(count==2) {
            num++;
            sum+=i;
        }
    }
    printf("%d %d",num,sum);
    return 0;
}

7-7 特殊a串数列求和(20 分)
给定四个均不超过九的正整数a和n,须求编写程序求a+aa+aaa++⋯+aa⋯a(n个a)之和。
输入格式:
输入在壹行中付出不超越九的正整数a和n。
输出格式:
在壹行中遵从“s = 对应的和”的格式输出。
输入样例:
2 3
出口样例:
s = 246

#include <stdio.h>
#include <math.h>
int main(){
    int a,n,sum=0,count;
    scanf("%d %d",&a,&n);
    count=a;
    for(int i=1;i<=n;i++){
        sum+=a;
        a=a*10+count;
    }
    printf("s = %d",sum);
    return 0;
}

7-捌 猜数字娱乐(一伍 分)
猜数字娱乐是令游戏机随机发生1个100以内的正整数,用户输入三个数对其张开估摸,必要您编写程序自动对其与自由发生的被猜数实行相比,并提醒大了(“Too
big”),依旧小了(“Too
small”),相等表示猜到了。借使猜到,则甘休程序。程序还必要计算猜的次数,假诺二次猜出该数,提醒“Bingo!”;要是三遍以内猜到该数,则提示“Lucky
You!”;借使当先贰回可是在N(>三)次以内(包蕴第N次)猜到该数,则提醒“Good
Guess!”;假若超越N次都没有猜到,则提醒“Game
Over”,并截止程序。假诺在达到N次在此以前,用户输入了1个负数,也出口“Game
Over”,并截止程序。
输入格式:
输入第二行中付出五个不超过拾0的正整数,分别是游戏机爆发的任性数、以及臆度的最大次数N。最后每行给出二个用户的输入,直到出现负数截止。
输出格式:
在一行中输出每便猜测相应的结果,直到输出猜对的结果或“Game
Over”则截止。
输入样例:
58 4
70
50
56
58
60
-2
出口样例:
Too big
Too small
Too small
Good Guess!

/*
 ============================================================================
 Name        : 猜数字游戏(.c
 Author      : 
 Version     :
 Copyright   : Your copyright notice
 Description : Hello World in C, Ansi-style
 ============================================================================
 */

#include <stdio.h>
#include <stdlib.h>

int main(void) {
    int num, times;
    scanf("%d %d", &num, &times);
    int i = 0, guess;
    while (i < times) {

        scanf("%d", &guess);
        if (guess < 0) {
            printf("Game Over\n");
            break;
        }
        if (guess > num) {
            printf("Too big\n");
        }
        if (guess < num) {
            printf("Too small\n");
        }
        if (guess == num) {
            if (i == 0) {
                printf("Bingo!\n");
            } else if (i < 3) {
                printf("Lucky You!\n");
            }
            if (i >= 3) {
                printf("Good Guess!\n");
            }
                break;
        }
        i++;
    }
    if (i >= times) {
        printf("Game Over\n");
    }
    return EXIT_SUCCESS;
}

7-九 兔子繁衍难题(15 分)
一对兔子,从降生后第七个月起种种月都生1对兔子。小兔子长到第五个月后各种月又生壹对兔子。若是兔子都不死,请问第二个月出生的1对兔子,至少必要繁衍到第多少个月时兔子总量才可以直达N对?
输入格式:
输入在一行中付出八个不超过一千0的正整数N。
输出格式:
在1行中输出兔子总的数量高达N最少须求的月数。
输入样例:
30
出口样例:
9

#include <stdio.h>
#include <math.h>
int main(){
    int rabbit_one,rabbit_two=1,month=1,x=1,y=1;
    scanf("%d",&rabbit_one);
    while(rabbit_two<rabbit_one){
        rabbit_two=x+y;
        x=y;
        y=rabbit_two;
      month++;
    }
    if(month==1){
        printf("1");
    }else{
        printf("%d",month+1);
    }
    return 0;
}

7-10 高空坠球(20 分)
皮球从某给定中度自由落下,触地后反弹到原中度的四分之贰,再落下,再反弹,……,如此频繁。问皮球在第n次落地时,在空中一共经过多少路程?第n次反弹的惊人是有点?
输入格式:
输入在1行中提交七个非负整数,分别是皮球的开始中度和n,均在长整型范围内。
输出格式:
在一行中逐条输出皮球第n次落地时在半空经过的相距、以及第n次反弹的万丈,其间以三个空格分隔,保留一个人小数。标题保险总括结果不超越双精度范围。
输入样例:
33 5
输出样例:
94.9 1.0

#include <stdio.h>
int main(void) {
    int i, n;
    double distance, height;
    scanf("%lf%d", &height, &n);
    if(n==0) {
        printf("0.0 0.0\n");
    } else {
        distance = height;
        for(i=1;i<n;i++){
                height = height / 2;
                distance = distance + height * 2;
        }
        printf("%.1f %.1f\n", distance, height/2);
    }


}

相关文章