每日学习 1210--1219

1210 班费问题

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

提交数 : 4577 | 通过数 : 1420

题目描述

 

期末了,班长CoCo决定将剩余班费x元钱用于购买若干支钢笔进行奖励。商店里有三种钢笔,单价分别为6元、5元和4元。小Q想买尽量多的笔,并且不再剩余钱。请帮小Q制定出一种买笔的方案。若无解(指所有方案都有剩余钱)则输出“No Answer”。

输入要求

 

班费x元

输出要求

 

有解时依次输出6元、5元和4元钢笔各买支数。若无解(指所有方案都有剩余钱)则输出“No Answer”,输出不包含双引号。

输入样例

35

输出样例

1 1 6

提示

如果有多种满足条件的方案,请选择购买5元笔数量少的方案!!!

来源

NBU OJ
#include<stdio.h>	 //C 
int main(){
	int x,i,j,k;
	scanf("%d",&x);
	for(i=x/4;i>=0;i--){
		for(j=(x-4*i)/5;j>=0;j--){
			k=x-4*i-5*j;
			if(k%6==0){
				printf("%d %d %d\n",k/6,j,i);
			    return 1;
			}
		}
	}
	if(i==0&&j==0&&x%6) printf("No Answer\n");
	return 0; 
}


1211 还是鸡兔同笼

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

提交数 : 11130 | 通过数 : 5078

题目描述

 

一个笼子里面关了鸡和兔子(鸡有2只脚,兔子有4只脚)。已经知道了笼子里面脚的总数a,问笼子里面至少有多少只动物,至多有多少只动物。

输入要求

 

第一行是测试数据的组数n,后面跟着n行输入。每组测试数据占一行,每行包含一个正整数a,代表笼子里面脚的总数。

输出要求

 

输出包含n行,每行对应一个输入,包含2个正整数,第一个是最少的动物数,第二个是最多的动物数。如果没有满足要求的答案,则输出两个0。

输入样例

2
3
20

输出样例

0 0
5 10

提示

 

来源

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


1212 小于某数的整数和

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

提交数 : 3024 | 通过数 : 2210

题目描述

 

给定一个正整数a,以及另外的5个正整数,请问:这5个正整数中,小于a的那些整数的和是多少?

输入要求

 

先输入一个正整数a,再输入另外5个正整数。

输出要求

 

计算这5个整数中,小于a的那些整数的和是多少,输出结果。

输入样例

10 7 8 9 11 2

输出样例

26

提示

 

来源

NBU OJ
#include<stdio.h>      //C
int main(){
	int a,x,i,s=0;
	scanf("%d",&a);
	for(i=0;i<5;i++){
		scanf("%d",&x);
		if(x<a) s+=x;
	} 
	printf("%d\n",s);
	return 0;
} 


1213 判断亲密数

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

提交数 : 11733 | 通过数 : 6331

题目描述

 

如果整数A的全部因子(包括1,不包括A本身)之和等于B,并且整数B的全部因子(包括1,不包括B本身)之和等于A,则称整数A和B为亲密数。任意输入两个正整数,判断他们是否为亲密数。若是亲密数,则输出1,否则输出0.

输入要求

 

输入两个整数。

输出要求

 

若是亲密数,则输出1,否则输出0。

输入样例

220 284

输出样例

1

提示

 

来源

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

1214 打印菱形

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

提交数 : 12480 | 通过数 : 5798

题目描述

打印出一个由符号“*”组成的菱形图案。

输入要求

 

输入一个整数n(奇数), 表示菱形的行数。

输出要求

 

菱形用字符 * 表示,每行都没有后缀的空格。

输入样例

5

输出样例

  *
 ***
*****
 ***
  *

提示

 

来源

NBU OJ
#include<stdio.h>       //C
int main(){
	int n,i,j,x;
	scanf("%d",&n);
	x=(n+1)/2;
	for(i=0;i<x;i++){
		for(j=0;j<x-1-i;j++) printf(" ");
		for(j=0;j<2*i+1;j++) printf("*");
		printf("\n");
	}
	for(i=0;i<x-1;i++){
		for(j=0;j<=i;j++) printf(" ");
		for(j=2*(x-i)-3;j>=1;j--) printf("*");
		printf("\n");
	}
	return 0;
}


1215 小神探的小问题

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

提交数 : 11899 | 通过数 : 5314

题目描述

 

小神探CoCo在某次案件调查中需要研究一些地图,但是其中一些地图使用公里为单位,而另一些使用英里为单位。假设CoCo希望全部采用公里计量,你可以帮她写出转换程序吗?已知1英里等于1.609公里。

输入要求

 

输入以英里表示的距离。

输出要求

 

输出以公里表示的距离,结果保留两位小数。

输入样例

10

输出样例

16.09

提示

 

来源

NBU OJ
#include<stdio.h>      //C
int main(){
	double x;
	scanf("%lf",&x);
	printf("%.2f\n",1.609*x);
	return 0;
}


1216 冰箱的温度

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

提交数 : 3511 | 通过数 : 2867

题目描述

 

夏天用电高峰时容易断电,请编写程序预测断电一段时间以后冰箱内的温度T(°C),假设该温度T可由以下公式计算得到结果:

T=4t2/(t+2)-20 

断电后所经过的时间t是给定的。

输入要求

 

从键盘输入断电后经过的时间t。

输出要求

 

输出断电t小时后冰箱内的温度,保留2位小数。

输入样例

2.5

输出样例

-14.44

提示

浮点数建议用double

来源

NBU OJ
#include<stdio.h>       //C
int main(){
	double t;
	scanf("%lf",&t);
	printf("%.2f\n",4*t*t/(t+2)-20);
	return 0;
}


1217 超市硬币处理机

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

提交数 : 9115 | 通过数 : 2955

题目描述

 

超市前放置了一个硬币处理机,可以帮你把零钱转换为存款单。在实际应用中,机器中将有相应装置自动识别并计算你的零钱的数目,但是我们现在只能先进行一个模拟的小实验,由你自己输入每种硬币的数目,然后编写程序将其转换成存款单。

输入要求

 

依次输入1元、5角、1角的零钱的个数。假如输入三个整数3 10 25,则表示有3个1元硬币、10个5角硬币和25个1角的硬币。

输出要求

 

输出存单金额,如对上例的输入,输出为

Dollars=10

Change=50

表示存单上的整数金额为10元,零钱金额为50分。

即要求Dollars后显示的是**元的信息,Change后面显示的是**分的信息。

输入样例

3 0 10

输出样例

Dollars=4
Change=0

提示

 

来源

NBU OJ
#include<stdio.h>      //C
int main(){
	int a,b,c,s=0;
	scanf("%d%d%d",&a,&b,&c);
	s=100*a+50*b+10*c;
	printf("Dollars=%d\nChange=%d\n",s/100,s%100);
	return 0;
}


1218 正方形还是圆形

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

提交数 : 11497 | 通过数 : 6128

题目描述

 

首先从键盘读入一个浮点数x,然后再读入一个小写字母(s或c),如果读入的字母是s,则计算并输出正方形面积(此时x作为边长);如果读入的字母是c,则计算并输出圆面积(此时x作为半径)。

输入要求

 

输入一个浮点数和一个小写字母(s或c),假设不会出现其他字母。数字和字母紧挨着输入,中间不要加空格。

输出要求

 

根据输入的字母为s或c,决定输出正方形面积或是圆面积,保留2位小数。

输入样例

2s

输出样例

4.00

提示

圆周率取3.14。

来源

NBU OJ
#include<stdio.h>     //C
#define n x*x
int main(){
	double x,s=0;
	char a;
	scanf("%lf%c",&x,&a);
	if(a=='s') printf("%.2f\n",n);
	else printf("%.2f\n",3.14*n);
	return 0;
}
 

1219 厘米到英寸的转换

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

提交数 : 2806 | 通过数 : 1749

题目描述

 

写一个程序来显示厘米到英寸的转换表,表中的最小和最大厘米数是输入值(为整数),表格中给出以10厘米为间隔的转换。1厘米等于0.3937英寸。

输入要求

 

输入两个整数t1和t2表示表中的最小值和最大值。t2>t1。

输出要求

 

输出[t1,t2]之间以10厘米为间隔的厘米到英寸的转换表。

输入样例

1 50

输出样例

1 0.39
11 4.33
21 8.27
31 12.20
41 16.14

提示

 

来源

NBU OJ
#include<stdio.h>      //C   法1
int main(){
	int n,m,i;
	scanf("%d%d",&n,&m);
	for(i=n;i<=m;i+=10){
		printf("%d %.2f\n",i,0.3937*i);
	}
	return 0;
}

#include<stdio.h>          //C      法2
int main(){
	int n,m,i,t=0;
	scanf("%d%d",&n,&m);
	t=n;
	printf("%d %.2f\n",n,n*0.3937);
	if(n+10<=m){
		for(i=n;i<=m;i++){
			t+=10;
			if(t>m) break;
			printf("%d %.2f\n",t,t*0.3937);
		}
	}
	return 0;
} 

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值