关于数据的溢出的影响。程序功能实现:1!+2!+...+30!的求和
2015-05-07 15:48
375 查看
之前的公式
public class ArraySum
{
public static void main(String[]args){
sum(30);
System.out.print(sum(30));
}
public static int fun(int x){ //实现阶乘
if(x==1){
return 1;
}else{
return x*fun(x-1);
}
}
public static int sum(int x){ //实现累加
int sum=0;
if(x==1){
return 1;
}else {
sum=fun(x)+sum(x-1);
return sum;
}
}
}
发现运行的程序结果得到一个负数:所以应该是出现了数据溢出,这个时候采用
public class ArraySum
{
public static void main(String[]args){
sum(30);
System.out.print(sum(30));
}
public static long fun(long x){ //实现阶乘
if(x==1){
return 1;
}else{
return x*fun(x-1);
}
}
public static long sum(long
x){ //实现累加
long sum=0;
if(x==1){
return 1;
}else {
sum=fun(x)+sum(x-1);
return sum;
}
}
}
得到了最后想要的结果
public class ArraySum
{
public static void main(String[]args){
sum(30);
System.out.print(sum(30));
}
public static int fun(int x){ //实现阶乘
if(x==1){
return 1;
}else{
return x*fun(x-1);
}
}
public static int sum(int x){ //实现累加
int sum=0;
if(x==1){
return 1;
}else {
sum=fun(x)+sum(x-1);
return sum;
}
}
}
发现运行的程序结果得到一个负数:所以应该是出现了数据溢出,这个时候采用
public class ArraySum
{
public static void main(String[]args){
sum(30);
System.out.print(sum(30));
}
public static long fun(long x){ //实现阶乘
if(x==1){
return 1;
}else{
return x*fun(x-1);
}
}
public static long sum(long
x){ //实现累加
long sum=0;
if(x==1){
return 1;
}else {
sum=fun(x)+sum(x-1);
return sum;
}
}
}
得到了最后想要的结果
相关文章推荐
- 关于数据的溢出的影响。程序功能实现:1!+2!+...+30!的求和
- 数据结构--顺序栈基本功能实现程序…
- 2,改写本章例2.1程序,要求: (1)将数据成员改为私有; (2)将输入和输出的功能改为由成员函数实现; (3)在类体内定义成员函数;
- 关于“点击两次退出程序”功能的实现
- 关于.net编译过后的程序增加功能的一种实现方式_也可以说是.net exe注入,插件机制_开发记录
- 关于需要优化的大表在不影响 业务的情况下实现数据转移到新分区表
- 一个简单求和函数的matlab实现(带程序耗时功能)
- iOS实战演练之关于数据交互的问题(利用XAMPP搭建本地服务器, 编写PHP代码实现iOS端注册登录功能)
- 关于弹框加搜索数据功能实现
- 20.购物车商品价格的总和(里面有一些功能没有实现,创建textview布局对象,然后for()遍历数据求和)
- extremetable+hibernate实现分页 关于结合hibernate后台数据分页和eXtremeTable分页功能的使用
- extremetable+hibernate实现分页 关于结合hibernate后台数据分页和eXtremeTable分页功能的使用
- (功能实现)关于统计数据库读出的条数,而且这些数据又要用
- 裸机程序也可以写关于mmu程序,相当于实现操作系统的部分功能
- 图形的绘制,如何使用自定义画笔(颜色,线宽,线形)。如何为程序中添加选项菜单和选项设置对话框,如何使用标准颜色对话框,如何使用字体对话框,在选项对话框中实现预览功能。实现选项对话框和窗口类中的数据交换。如何改变对话框和控件的背景色,如何改变控件的文本颜色,
- 关于Sqlserver中 BCP命令,实现数据导出功能。
- 字符串处理是许多程序中非常重要的一部分,它们可以用于文本显示,数据表示,查找键和很多目的.在Unix下,用户可以使用正则表达式的强健功能实现这些 目的,从Java1.4起,Java核心API就引入了java.util.regex程序包,它是一种有价值的基础
- 关于android程序自动更新功能的实现,如何去除安装提示
- 在一个程序中需要用到全局变量(在多个class之间共享数据),请问如何定义具有这种功能的变量?或者是否有其他的方法解决多个class之间的数据共享(尽量简单实现)。 首先应该明确 Java中没有全局变
- 需要求3个长方体的体积,写一个基于对象的程序,数据成员包括 length width height 要求用成员函数实现以下功能