zoukankan      html  css  js  c++  java
  • 掉入陷阱的数字、求交错序列前N项和、统计素数并求和、求分数序列前N项和、猴子吃桃问题

    7-31 掉入陷阱的数字 (15 分)

    对任意一个自然数N​0​​ ,先将其各位数字相加求和,再将其和乘以3后加上1,变成一个新自然数N1;然后对N​1重复这种操作,可以产生新自然数N2;……多次重复这种操作,运算结果最终会得到一个固定不变的数N​k,就像掉入一个数字“陷阱”。

    本题要求对输入的自然数,给出其掉入“陷阱”的过程。

    输入格式:
    在一行内给出一个自然数N​0​​(N​0​​ <30000)。

    输出格式:
    对于输入的N​0,逐行输出其掉入陷阱的步骤。第i行描述N掉入陷阱的第i步,格式为: i:N​i(i≥1)。当某一步得到的自然数结果N​k​​ (k≥1)与上一步N​k−1相同时,停止输出。

    输入样例:

    5
    

    输出样例:

    1:16
    2:22
    3:13
    4:13
    
    #include <stdio.h>
    int main()
    {
    	int num,n1=0,n2=0,i,j=1;
    	scanf("%d",&num);
    	while(num != n1){//查看是否与上一数相等 
    		n1 = num;//记录上一次的数
    		for(i=0,n2=0;i<5;i++){//求每位数和 
    			n2 += num%10;
    			num /=10;
    		}
    		num = n2 *3 +1;
    		printf("%d:%d
    ",j,num);
    		j++; 
    	}
    	return 0;
    }
    

    7-32 求交错序列前N项和 (15 分)

    本题要求编写程序,计算交错序列 1-2/3+3/5-4/7+5/9-6/11+… 的前N项之和。

    输入格式:
    输入在一行中给出一个正整数N。

    输出格式:
    在一行中输出部分和的值,结果保留三位小数。

    输入样例:

    5
    

    输出样例:

    0.917
    
    #include <stdio.h>
    int main()
    {
    	int N,t=-1;
    	double sum=0.0,i;
    	scanf("%d",&N);
    	for(i = 1;i<=N;i++){
    		t =- t;
    		sum = sum+(t*i/(2*i-1));
    	}
    	printf("%0.3f",sum);
    	return 0;
    }
    

    7-33 统计素数并求和 (20 分)

    本题要求统计给定整数M和N区间内素数的个数并对它们求和。

    输入格式:
    输入在一行中给出两个正整数M和N(1≤M≤N≤500)。

    输出格式:
    在一行中顺序输出M和N区间内素数的个数以及它们的和,数字间以空格分隔。

    输入样例:

    10 31
    

    输出样例:

    7 143
    
    #include <stdio.h>
    #include <math.h>
    int main()
    {
    	int a,b;
    	scanf("%d %d",&a,&b);
    	int i;
    	int count=0,sum=0;
    	for(a;a<=b;a++){
    		int a_1;
    		a_1=sqrt(a);
    		for(i = 2;i<=a_1;i++){
    			if(a%i==0){
    				break;
    			}
    		}
    		if(i>a_1){
    			if(a==1){
    				count=count;
    			}else{
    				sum = sum+a;
    				count++;
    			}
    		}
    	}
    	printf("%d %d",count,sum);
    	return 0;
    }
    

    7-34 求分数序列前N项和 (15 分)

    本题要求编写程序,计算序列 2/1+3/2+5/3+8/5+… 的前N项之和。注意该序列从第2项起,每一项的分子是前一项分子与分母的和,分母是前一项的分子。

    输入格式:
    输入在一行中给出一个正整数N。

    输出格式:
    在一行中输出部分和的值,精确到小数点后两位。题目保证计算结果不超过双精度范围。

    输入样例:

    20
    

    输出样例:

    32.66
    
    #include <stdio.h>
    int main()
    {
    	int number,i;
    	double sum=0,a=2,b=1,a1;
    	scanf("%d",&number);
    	for(i=1;i<=number;i++){
    		sum = sum+a/b;
    		a1=b;
    		b=a;
    		a=a+a1;
    	}
    	printf("%.2f",sum);
    	return 0;
    }
    

    7-35 猴子吃桃问题 (15 分)

    一只猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个;第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半加一个。到第N天早上想再吃时,见只剩下一个桃子了。问:第一天共摘了多少个桃子?

    输入格式:
    输入在一行中给出正整数N(1<N≤10)。

    输出格式:
    在一行中输出第一天共摘了多少个桃子。

    输入样例:

    3
    

    输出样例:

    10
    
    #include <stdio.h>
    int main()
    {
    	int n,s=1,i;
    	scanf("%d",&n);
    	for(i=0;i<n-1;i++){
    		s=(s+1)*2;	
    	}
    	printf("%d",s);
    }
    
    欢迎查阅
  • 相关阅读:
    通过 Ansible role 安装 Jenkins Server
    常见 Bash 内置变量介绍
    Ansible 简介
    为容器化的 Go 程序搭建 CI
    Bash Shebang 小结
    Docker Compose 引用环境变量
    Docker Compose 之进阶篇
    Docker Compose 原理
    WEB程序调用客户端程序
    读书笔记2014第5本:《乔纳森传》
  • 原文地址:https://www.cnblogs.com/gh110/p/11892803.html
Copyright © 2011-2022 走看看