当前位置: 代码迷 >> C语言 >> 哥哥姐姐们,偶被考试的题目难住了…5555…
  详细解决方案

哥哥姐姐们,偶被考试的题目难住了…5555…

热度:475   发布时间:2006-06-15 15:27:40.0
哥哥姐姐们,偶被考试的题目难住了…5555…
1、编写一个函数,判断两个自然数是否是自然对数,然后编写一个C程序在1至100之间查找自然对数。所谓自然对数是指两个自然数的和与差都是平方数,如:17+8=25,17-8=9,17和8就是自然对数。

2、建立类Cylinder,Cylinder的构造函数被传递了两个double值,分别表示圆柱体的半径和高度,计算圆柱体的体积vol(),并存储在一个double变量中,同时设计一个主函数main(),演示该类的用法。


哥哥们,姐姐们,帮帮偶吧~~!~!~!~!~! 考试时间快到了……

我想哭了……
搜索更多相关的解决方案: 考试  难住  

----------------解决方案--------------------------------------------------------

class Cylinder
{
private:
int rad;
int height;
double voll;
public :
Cylinder(){rad=0;height=0;};
Cylinder(int rad0, int height0)
{
rad= rad0 < 0 ? 0 :rad0 ;
height= height < 0 ? 0 : height0 ;
}

double vol()
{
return (double)3.14 * rad *rad *height;
}
~Cylinder(){}

}


----------------解决方案--------------------------------------------------------

#include <string.h>
#include <math.h>
main()
{int a,b,c,d,s1,s2,i,j;
int log[50][2];
i=0;
j=0;
for(a=100;a!=1;a--)
for(b=a-1;b!=0;b--)
{ s1=a+b;
s2=a-b;
c=(int)sqrt(s1);
d=(int)sqrt(s2);
if(c*c==s1&&d*d==s2)
{ log[i][0]=a;
log[i++][1]=b;
}
}
printf("output\n");
for(i=0;i<50;i++)
printf("%3d,%3d ",log[i][0],log[i][1]);
}

c语言程序

[此贴子已经被作者于2006-6-15 18:40:22编辑过]


----------------解决方案--------------------------------------------------------
回复:(han2y)#include <string.h>#include &...
/*han2y:有更简短的代码*/
#include<stdio.h>
main()
{
int i,j,A,B,s=0;
for(i=001;i<=14;i+=1)
for(j=i+2;j<=14;j+=2)
{ A=(j*j+i*i)/2;
if(A>100)continue;
B=j*j-A;
s+=i*i;
printf("%d,%d\t",A,B);//输出自然数对
}
printf("sum=%d\n",s);//输出自然数对之和509
}
----------------解决方案--------------------------------------------------------
这样能够保证所有的数都能够遍历到吗?不知你的算法是……请回复,谢谢
----------------解决方案--------------------------------------------------------
以下是引用han2y在2006-6-15 17:32:03的发言:
这样能够保证所有的数都能够遍历到吗?不知你的算法是……请回复,谢谢

设 A,B 是自然数对,则根据定义有
A+B = j2
A-B = i2
且j > i
于是:
2A= j2+i2
A =( j2+i2)/2
B =( j2-i2)/2
而且不难看出,要么i,j同为奇数,要么同为偶数
一奇一偶将导致平方和(或平方差)为奇数,2就除不尽了。
。。。。。。。。。。。。


----------------解决方案--------------------------------------------------------
呵呵,经典老题
----------------解决方案--------------------------------------------------------
版主的头脑太灵活了,这样的算法也能够想出来,数学绝对一流
----------------解决方案--------------------------------------------------------
数学鱼+C语言水
可惜俺数理逻辑不行,离散数学不行。
要不早攻计算机专业了。
----------------解决方案--------------------------------------------------------
那你是什么专业呢?怎么对C语言有如此的精通呢?
你是怎么过来的呢?
----------------解决方案--------------------------------------------------------