球弹跳中度的估算,基本循环语句的接纳

20:球弹跳中度的估测计算

总时间限定: 
1000ms

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

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

输入
输入三个整数h,表示球的发端高度。

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

在意:结果也许是实数,结果用double类型保存。
晋升:输出时不须求对精度特殊控制,用cout <<
ANSWE奥迪Q7,也许printf(“%g”, ANSWERubicon)即可。

样例输入
20

样例输出
59.9219
0.0195313

来源
计算概论贰零零伍, 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-10 高空坠球(20 分)
皮球从某给定中度自由落下,触地后反弹到原高度的贰分一,再落下,再反弹,……,如此反复。问皮球在第n次落地时,在空中壹共经过多少路程?第n次反弹的莫斯中国科学技术大学学是稍稍?
输入格式:
输入在一行中付出三个非负整数,分别是皮球的始发中度和n,均在长整型范围内。
输出格式:
在一行中相继输出皮球第n次落地时在空间经过的距离、以及第n次反弹的可观,其间以1个空格分隔,保留1人小数。标题保障总计结果不当先双精度范围。
输入样例:
33 5
出口样例:
94.9 1.0

7-4 最大公约数和最小公倍数(一伍 分)
核心供给三个给定正整数的最大公约数和最小公倍数。
输入格式:
输入在1行中提交多少个正整数M和N(≤一千)。
出口格式:
在壹行中逐壹输出M和N的最大公约数和最小公倍数,两数字间以1空格相隔。
输入样例:
511 292
出口样例:
73 2044

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

#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;
}
#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;
}
#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-3 求整数的位数及各位数字之和(15 分)
对于给定的正整数N,求它的位数及其各位数字之和。
输入格式:
输入在一行中提交二个不超过10
​玖​​ 的正整数N。
输出格式:
在一行中输出N的位数及其各位数字之和,中间用一个空格隔离。
输入样例:
321
出口样例:
3 6

7-玖 兔子繁衍难点(一5 分)
1对兔子,从降生后第七个月起各类月都生壹对兔子。小兔子长到第二个月后各类月又生1对兔子。假使兔子都不死,请问第2个月出生的壹对兔子,至少须求繁衍到第多少个月时兔子总数才能够达到规定的标准N对?
输入格式:
输入在1行中付出3个不超越一千0的正整数N。
输出格式:
在1行中输出兔子总数达到N最少要求的月数。
输入样例:
30
出口样例:
9

/*
 ============================================================================
 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-8 猜数字娱乐(15 分)
猜数字娱乐是令游戏机随机产生2个十0以内的正整数,用户输入三个数对其开始展览估计,需求您编写程序自动对其与人身自由发生的被猜数进行相比较,并提示大了(“Too
big”),如故小了(“Too
small”),相等表示猜到了。若是猜到,则结束程序。程序还要求总计猜的次数,假诺一次猜出该数,提示“Bingo!”;假如1次以内猜到该数,则提醒“Lucky
You!”;借使超越三遍然则在N(>3)次以内(包涵第N次)猜到该数,则提醒“Good
Guess!”;假若跨越N次都尚未猜到,则提示“Game
Over”,并甘休程序。假若在到达N次在此之前,用户输入了叁个负数,也出口“Game
Over”,并甘休程序。
输入格式:
输入第一行中付出多个不当先100的正整数,分别是游戏机发生的随机数、以及测度的最大次数N。最终每行给出二个用户的输入,直到出现负数停止。
出口格式:
在壹行中输出每一遍推断相应的结果,直到输出猜对的结果或“Game
Over”则停止。
输入样例:
58 4
70
50
56
58
60
-2
输出样例:
Too big
Too small
Too small
Good Guess!

#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;
}
#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-7 特殊a串数列求和(20 分)
给定七个均不超过九的正整数a和n,要求编写程序求a+aa+aaa++⋯+aa⋯a(n个a)之和。
输入格式:
输入在1行中提交不当先9的正整数a和n。
出口格式:
在1行中遵守“s = 对应的和”的格式输出。
输入样例:
2 3
出口样例:
s = 246

#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;
}
#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);
    }


}

7-二 求给定精度的粗略交错体系部分和(一5 分)
核心供给编写程序,总计类别部分和 一 – 25% + 1/7 – 百分之10 + …
直到最终1项的相对化值不超出给定精度eps。
输入格式:
输入在壹行中付出一个正实数eps。
出口格式:
在1行中依照“sum =
S”的格式输出部分和的值S,精确到小数点后陆个人。标题保险计算结果不抢先双精度范围。
输入样例1:
4E-2
输出样例壹:
sum = 0.854457
输入样例2:
0.02
出口样例二:
sum = 0.826310

#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伍 分)
核心须要测算给定的一文山会海正整数中奇数的和。
输入格式:
输入在一行中付出壹多元日整数,其间以空格分隔。当读到零或负整数时,表示输入达成,该数字并非处理。
出口格式:
在一行中输出正整数种类中奇数的和。
输入样例:
8 7 4 3 70 5 6 101 -1
出口样例:
116

#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-伍 找出最小值(20 分)
主旨供给编写程序,找出给定一文山会海整数中的最小值。
输入格式:
输入在一行中第三付诸三个正整数n,之后是n个整数,其间以空格分隔。
输出格式:
在壹行中依据“min = 最小值”的格式输出n个整数中的最小值。
输入样例:
4 -2 -123 100 0
出口样例:
min = -123

相关文章