游戏开发论坛

 找回密码
 立即注册
搜索
查看: 2488|回复: 9

一道数学题

[复制链接]

9

主题

30

帖子

30

积分

注册会员

Rank: 2

积分
30
发表于 2004-4-23 19:58:00 | 显示全部楼层 |阅读模式
刚开始学c++

想用c++写一个 解决一道数学题的程序 题目如下:
     1+2+3+……+n=1600
     求n的值

高手指点一下

5

主题

49

帖子

49

积分

注册会员

Rank: 2

积分
49
QQ
发表于 2004-4-23 20:58:00 | 显示全部楼层

Re:一道数学题

int add()
{
    int count = 0;
    for( int i = 1; i <100; i++)
    {
         count += i;
         if( count = 1600 )
             return ( i );
    }
   return 0;
}


调用这个函数就行了,当返回0时表示题目有问题

37

主题

168

帖子

183

积分

注册会员

Rank: 2

积分
183
发表于 2004-4-23 21:22:00 | 显示全部楼层

Re:一道数学题

其实,当n=57时,sun是1595,最接近.n=58是,sun是1651
一个方法搞定:
//如果n=-1,代表无解
public int getNum(){
    int n;
    int sun=0;
    for(n=1;n<1600;n++){
        if(sun<1600)
        sun = sun+n;
        else
            break;
    }
    if(sun!=1600)
        n =-1;
    return n;
}

这样做就只要循环57次,而楼上的要循环近100次哦

0

主题

10

帖子

10

积分

新手上路

Rank: 1

积分
10
发表于 2004-4-23 23:17:00 | 显示全部楼层

Re:一道数学题

1+2+3+...+n=s

我认为就是解两个一元二次方程
(n+1)*n/2=s  -->  n = (sqrt(8s+1)-1)/2

n*n/2 + (n+1)/2 = s -->  n = (sqrt(8s-3) - 1)/2

如果n不是正数就无解,这样就不要循环也能解出

9

主题

30

帖子

30

积分

注册会员

Rank: 2

积分
30
 楼主| 发表于 2004-4-24 12:56:00 | 显示全部楼层

Re:一道数学题

多谢各位

1楼和2楼的都看懂了 2楼的的确循环次数少

3楼的就不懂了

2

主题

70

帖子

70

积分

注册会员

Rank: 2

积分
70
发表于 2004-4-24 14:53:00 | 显示全部楼层

Re:一道数学题

3楼的是等差数列求和公式。这些公式早在18世纪就发现。

2

主题

70

帖子

70

积分

注册会员

Rank: 2

积分
70
发表于 2004-4-24 14:58:00 | 显示全部楼层

Re: Re:一道数学题

hongyijun: Re:一道数学题

3楼的是等差数列求和公式。这些公式早在18世纪就发现。
这些公式的求证方法在高中的课程中就有啊!看来数学好的人不多啊。

15

主题

155

帖子

157

积分

注册会员

Rank: 2

积分
157
发表于 2004-4-24 15:03:00 | 显示全部楼层

Re:一道数学题

二楼兄弟范了一个小错
       if( count = 1600 )
   

y14的方法好像判断是否整数有点难

9

主题

30

帖子

30

积分

注册会员

Rank: 2

积分
30
 楼主| 发表于 2004-4-24 17:57:00 | 显示全部楼层

Re:一道数学题

哦 ~~~
我懂了
对对对~~3楼 牛  我一开始被那个 sqrt  搞糊涂了

0

主题

10

帖子

10

积分

新手上路

Rank: 1

积分
10
发表于 2004-4-25 13:44:00 | 显示全部楼层

Re:一道数学题

判断整数不难
        float f = 5/5.0;
        if ((int)f == f) {
                cout <<"it's a integer";
        } else {
                cout <<"it's not a integer";
        }
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2025-6-30 11:26

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表