每日学习 1118--1126

1118 反弹的小球

时间限制 : 2000/1000 MS(Java/Others) | 内存限制 :65536/32768 KB(Java/Others)

提交数 : 9253 | 通过数 : 4853

题目描述

一个球从100米高度自由落下,每次落地后反弹到原高度的一半再落下,求它在第n次落地时,共经过了多少米,以及第n次反弹的高度。

输入要求

输入正整数n。

输出要求

依次输出第n次落地时经过的总路程以及第n次反弹的高度(保留6位小数),中间用一个空格隔开。

输入样例

10

输出样例

299.609375 0.097656

提示

 

来源

NBU OJ

代码:

#include<stdio.h>     //C语言
int main(){
	int n;
	double s=0,h=100;
	scanf("%d",&n);
	while(n--){
		s+=h;
		h/=2;
		s+=h;
	}
	s-=h;
	printf("%.6f %.6f\n",s,h);
	return 0;
} 


1119 九九乘法表的值

时间限制 : 2000/1000 MS(Java/Others) | 内存限制 :65536/32768 KB(Java/Others)

提交数 : 23933 | 通过数 : 8547

题目描述

给定一个正整数n,打印1~n的乘法表上每个位置的数值。n小于等于9。

输入要求

输入一个正整数n。

输出要求

输出1~n的乘法表上对应位置的数值,

输入样例

5

输出样例

1
2   4
3   6   9
4   8   12  16
5   10  15  20  25

提示

用%-4d控制左对齐的输出格式,但是每行对角线上数据直接用"%d\n"来控制输出。

来源

NBU OJ

代码:

#include<stdio.h>           //C语言
int main(){
	int n,i,j;
	scanf("%d",&n);
	for(i=1;i<=n;i++){
		for(j=1;j<=i;j++){
			if(i==j) printf("%d\n",i*j);
			else printf("%-4d",i*j); 
		}
	}
	return 0;
}


1120 平方表

时间限制 : 2000/1000 MS(Java/Others) | 内存限制 :65536/32768 KB(Java/Others)

提交数 : 5783 | 通过数 : 4327

题目描述

编写程序显示平方表。首先从键盘输入一个整数n,然后显示出n行的输出,每行包含一个1~n的数及其平方值(数据间用一个空格隔开)。如从键盘输入4以后将有如下的输出:

1 1

2 4

3 9

4 16

输入要求

输入一个正整数n(1<=n<=1000)。

输出要求

输出1~n的数及其平方值。

输入样例

2

输出样例

1 1
2 4

提示

 

来源

NBU OJ

代码:

#include<stdio.h>      //C语言
int main(){
	int n,i;
	scanf("%d",&n);
	for(i=1;i<=n;i++){
		printf("%d %d\n",i,i*i);
	}
	return 0;
}


1121 乘方表

时间限制 : 2000/1000 MS(Java/Others) | 内存限制 :65536/32768 KB(Java/Others)

提交数 : 7336 | 通过数 : 3534

题目描述

给定一个正整数n,输出2^0到2^n的值。

输入要求

输入一个正整数n(1<=n<=30)。

输出要求

输出2^0到2^n的值。

输入样例

3

输出样例

1 2 4 8

提示

最后一个数据输出后直接换行,不要再加空格。

来源

NBU OJ



代码:

#include<stdio.h>            //C语言
#include<math.h>
int main(){
	int n,i;
	scanf("%d",&n);
	for(i=0;i<=n;i++){
		if(i==n) printf("%.0f\n",pow(2,i));
		else printf("%.0f ",pow(2,i));
	}
	return 0;
}


1122 百灯判熄

时间限制 : 2000/1000 MS(Java/Others) | 内存限制 :65536/32768 KB(Java/Others)

提交数 : 16014 | 通过数 : 7140

题目描述

 

有M盏灯,编号为1~M,分别由相应的M个开关控制。开始时全部开关朝上(朝上为开,灯亮),然后进行以下操作:编号凡是1的倍数的灯反方向拨一次开关;是2的倍数的灯再反方向拨一次开关;是3的倍数的灯又反方向拨一次开关,......,直到是M的倍数的灯又反方向拨一次开关。请从键盘输入一个整数m代表灯的数量,求出最后为熄灭状态的灯(不亮)的数量以及编号并输出。

输入要求

输入一个整数m(1≤m≤100)。

输出要求

 

输出为两行,第一行是熄灭状态的灯的数量;第二行是最后为熄灭状态的灯的编号(每个数据以4列的域宽显示)。

输入样例

100

输出样例

10
   1   4   9   16   25   36   49   64   81 100

提示

输出控制为%4d

来源

NBU OJ

代码:

#include<stdio.h>          //C语言
#include<math.h>
int main(){
	int m,i,n;
	scanf("%d",&m);
	n=sqrt(m);
	printf("%d\n",n);
	for(i=1;i<=n;i++){
		printf("%4d",(int)pow(i,2));
	}
	printf("\n");
	return 0;
}


1123 求cos(x)的值

时间限制 : 2000/1000 MS(Java/Others) | 内存限制 :65536/32768 KB(Java/Others)

提交数 : 9147 | 通过数 : 3919

题目描述

输入一个浮点数x,求cos(x)值,用公式cos(x)=1-x^2/2!+x^4/4!-x^6/6!+x^8/8! 计算。

输入要求

多组输入,输入x的值

输出要求

输出cosx的值,保留两位小数

输入样例

1.52

输出样例

0.05

提示

用double型变量

来源

NBU OJ

代码:

#include<stdio.h>       //C语言
#include<math.h>
int main(){
	double x;
	while(~scanf("%lf",&x)){
		printf("%.2f\n",1-x*x/2+pow(x,4)/24-pow(x,6)/720+pow(x,8)/40320);
	}
	return 0;
} 


1124 斐波那契的兔子问题

时间限制 : 2000/1000 MS(Java/Others) | 内存限制 :65536/32768 KB(Java/Others)

提交数 : 19346 | 通过数 : 6785

题目描述

1202年,意大利数学家斐波那契(Fibonacci)出版了他的《计算之书》,在书中提到了一个关于兔子繁殖的问题:如果一对兔子,过一个月之后长成大兔子,到第三个月就可以生下一对兔子并且以后每个月都生下一对兔子,而所生的一对小兔子也同样到一个月之后长成大兔子,到第三个月就可以生下一对小兔并且以后每个月都会生一对。假如兔子都不死,问第n个月的时候兔子的总对数为多少?

输入要求

输入一个整数n( 0 < n < =50)

输出要求

输出第n个月兔子的对数

输入样例

6

输出样例

8

提示

数据量会超出int范围,建议用double或长整型

来源

NBU OJ

代码:

#include<stdio.h>          //C语言
int main(){
	double n,a=1,b=1;
	int i;
	scanf("%lf",&n);
	if(n>2){
		for(i=3;i<=n;i++){
		    b+=a;
		    a=b-a;
	    }
	}
	printf("%.0f\n",b);
	return 0;
}


1125 斐波那契数列

时间限制 : 2000/1000 MS(Java/Others) | 内存限制 :65536/32768 KB(Java/Others)

提交数 : 23788 | 通过数 : 6628

题目描述

输入整数n,输出斐波那契数列的前n项。

输入要求

输入一个整数n(1<=n<=12)。

输出要求

输出斐波那契数列的前n项。每个数后面都有空格。

输入样例

6

输出样例

1 1 2 3 5 8

提示

 

斐波那契数列的排列规则为:第1个数和第2个数的值都为1,从第3个数开始,每个数据都等于它前面相邻的两个数据之和。

来源

NBU OJ

代码:

#include<stdio.h>              //C语言
int main(){
	int n,i,a=1,b=1;
	scanf("%d",&n);
	if(n==1) printf("1 ");
	else if(n==2) printf("1 1 ");
	else{
		printf("1 1 ");
		for(i=3;i<=n;i++){
		    b+=a;
		    a=b-a;
			printf("%d ",b);
	    }
	}
	printf("\n");
	return 0;
}


1126 水仙花数

时间限制 : 2000/1000 MS(Java/Others) | 内存限制 :65536/32768 KB(Java/Others)

提交数 : 29117 | 通过数 : 8832

题目描述

 

输入整数n,求小于n的水仙花数(n<1000)。所谓“水仙花数”是指一个三位正整数ABC,其各位数字的立方和等于该数本身,即

例如,370是一个水仙花数,因为

输入要求

输入一个正整数n(n<1000)

输出要求

输出小于n的所有水仙花数。如果该范围内部不存在水仙花数,则输出No Answer。

输入样例

400

输出样例

153
370
371

提示

 

来源

NBU OJ

代码:

#include<stdio.h>         //C语言
int main(){
	int n,i,b=0,s=0,g=0;	
	scanf("%d",&n);
	if(n<=153) printf("No Answer\n");
	else{ 
		for(i=153;i<n;i++){
			b=i/100;
	        s=i/10%10;
	        g=i%10;
			if(i==b*b*b+s*s*s+g*g*g) printf("%d\n",i);
		}
	}
	return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值