天真无邪°
C++的一道难题! 求解!!

Description

小六是个吃货,现在是冬天,但是小六想吃西瓜了,没关系,小六是个小女巫,她有办法变出西瓜。但作为一个有追求的女巫,小六对西瓜的要求也是很高的,小六要吃的西瓜形状可以各异,但是西瓜皮的体积一定要够(小六爱吃西瓜皮)。现在有一个西瓜,请你先帮小六看看,她会不会吃这个西瓜。

Input

分3行输入;

第一行:小六最少要吃的西瓜皮的体积V;

第二行:一个字母,代表西瓜外壳的形状(b:球体,c:立方体)一个正数r(形状为b时,代表球体半径;形状为立方体时,代表立方体边长);

第三行:一个字母,代表西瓜内瓤的形状(b:球体,c:立方体)一个正数r(形状为b时,代表球体半径;形状为立方体时,代表立方体边长);

Output

如果西瓜皮的的体积大于V,则输出“YES”,否则输出“NO”;

Sample Input

13

c 3

c 2

Sample Output

YES

HINT

建议数据用double型

wugy315
[i=s] 本帖最后由 wugy315 于
展开Biu

本帖最后由 wugy315 于 2017-11-30 20:53 编辑

其实很简单呀。这是一道时间复杂度只有O(1)的题。

手上没有CPP的IDE。就从算法的角度用Java来提供一种解决方案供参考吧。

public String eatOrNot(double v,char out,double outR,char inside,double insideR) throws Exception{

double vOut,vInside;

switch (out) {

case 'b':

vOut = 4*Math.PI*Math.pow(outR,3)/3;

//Math.PI是java的类库中提供的常量。CPP中没有的话可以作替换。

//Math.pow是java类库中提供的立方计算方法。也可以做相应替换。

break;

case 'c':

vOut = Math.pow(outR, 3);

break;

default:

throw new Exception("小六暂时还变不出这种形状的西瓜呢~");

}

switch (inside) {

case 'b':

vInside = 4*Math.PI*Math.pow(insideR,3)/3;

//Math.PI是java的类库中提供的常量。CPP中没有的话可以作替换。

//Math.pow是java类库中提供的立方计算方法。也可以做相应替换。

break;

case 'c':

vInside = Math.pow(insideR, 3);

break;

default:

throw new Exception("小六暂时还变不出这种形状的西瓜呢~");

}

if ((vOut-vInside)>v) {

return "YES";

}

return "NO";

}

[查看全文]
Blue_sdo
大概思路应该是这样,我没学过C++语法,用
展开Biu

大概思路应该是这样,我没学过C++语法,用js语法为例写的:

窗体设定:

1、输入框a1,输入体积V

2、输入框a2,输入外壳形状字母+分隔符+半径

3、输入框a3,输入内瓤形状字母+分隔符+半径

4、输出框b,输出结果

定义变量,类型转换

volume = a1;

shapeA1 = a2分隔符前;//形状

shapeA2 = a2分隔符后;

shapeB1 = a3分隔符前;//形状

shapeB2 = a3分隔符后;

定义体积函数,传入参数shape,value,以js为例:

funciton getBallVolume(shape,value){

if(shape == "b"){

return Math.pow(value,3); //求立方体体积,返回结果

}

else if(shape == "c"){

return (3/4)*3.1415926*Math.pow(value,3) //求球体体积,返回结果

}

};

定义变量计算体积,和输入的体积对比:

volumeInner = getBallVolume(shapeA1,shapeA2)+getBallVolume(shapeB1,shapeB2);

如果volumeInner > volume,那么输出框b显示YES,否则显示NO

[查看全文]
赛亚人2008
虚拟机

red hat 可以和co什么什么的可以一起装在虚拟机上吧?

潇潇君
我是老萌新
展开Biu

我是老萌新

[查看全文]
electcity
求一个 电脑操作记忆者 的软件:)

如同标题,本人找了很久都找不到,望大神给予帮助!@@6!!

yydsss
求各位大神解答【复式消费】

本帖最后由 断乱 于 2018-2-27 00:03 编辑

如题#km今天遇到一个奇葩问题绞尽脑汁都想不出来,

求各位路过的大神帮帮忙,【复式消费】是什么意思!!!!!!!!!!

okokokk
金额转换题,个位数显示不出

public class Change {

public String change(String m){

StringBuffer re=new StringBuffer("");

int i=0;

int j=0;

i=m.lastIndexOf(".");

if(i==-1) i=m.length();

String b=m.substring(0, i);

char[] c=b.toCharArray();

StringBuffer s=null;

for(i=c.length-1,j=0;

i>=0;i--,j++){

s=new StringBuffer("");

if(i!=c.length-1 && c[i+1]!='0') s.append(changeNum(c));

if(c!='0'){

switch (j%4){

case 1:s.append("拾");

break;

case 2:s.append("佰");

break;

case 3:s.append("仟");

break;

default :break;

}

}

if(j!=0 && j%8==0) s.append("亿");

else if (j!=0 && j%4==0){

s.append("万");

}

re=s.append(re);

}

re.append("元");

i=m.lastIndexOf(".");

String d=null;

if(i!=-1){

d=m.substring(i+1,m.length());

char[] e=d.toCharArray();

if(e.length==1) if(e[0]!='0')

re.append("零").append(changeNum(e[0])).append("角").toString();

if(e.length==2) if(e[0]!='0' || e[1]!='0')

re.append("零");

if(e[0]!='0')

re.append(changeNum(e[0])).append("角").toString();

if(e[1]!='0')

re.append(changeNum(e[1])).append("分").toString();

}

return re.toString();

}

public String changeNum(char c){

String[] n={"零","壹","贰","叁","肆","伍","陆","柒","捌","玖"}; return n[c-'0'];

}

public static void main(String[] args) {

Change c=new Change(); System.out.print(c.change("123458.78"));

}

}

苍堇
新手,求助。编写C语言程序

之前没有学过c语言,突然需要写c语言程序。一头雾水,跪求大神帮忙!!!!!!!

1.已知一个字母组成的字符串密钥,明文密文均为英文字母,且不分大小写。试编写C语言程序(或伪代码),实现单表密码加密。输入明文,输出密文。

2.已知一个字母组成的字符串密钥,明文密文均为英文字母,且不分大小写。试编写C语言程序(或伪代码),实现置换密码加密。输入明文,输出密文。

skylerma
C#与C++的对比

C#与C++的对比

今天我用C++和C#同时写了计算长方体的体积 同时也反应了C++与C#的区别

C#

Console.WriteLine("by skyler qq206268322");

Console.WriteLine("请输入长方形的长:");

int Length = Convert.ToInt32(Console.ReadLine());

Console.WriteLine("请输入长方形的宽:");

int Width = Convert.ToInt32(Console.ReadLine());

Console.WriteLine("请输入长方形的高:");

int Height = Convert.ToInt32(Console.ReadLine());

int S = Length * Width * Height;

Console.WriteLine("长方形的体积为:{0}", S);

Console.ReadKey();

C++的代码

#include <stdio.h>

int V(int Length,int Width,int Height);

int main()

{

int m_length,m_width,m_height,result,qq;

printf ("by skyler QQ206268322\n");

printf("请输入长方体的长:\n");

scanf("%d",&m_length);

printf("请输入长方体的宽:\n");

scanf("%d",&m_width);

printf("请输入长方体的高:\n");

scanf("%d",&m_height);

result=V(m_length,m_width,m_height);

printf("长方形的体积为:\n");

printf("%d\n",result);

printf ("by skyler QQ206268322");

scanf("%d",qq);

return 0;

}

int V(int Length,int Width,int Height)

{

int result;

result=Length*Width*Height;

return result;

}

睡不醒啊
过段时间学
展开Biu

正在学C++,过段时间学C#。。。

[查看全文]
88621
都是水帖子啊
展开Biu

都是水帖子啊。。。。没啥内容

[查看全文]
skylerma
秋落千絮
微信小程序的编写语言以及规则

微信小程序的编写语言以及规则