| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2188 人关注过本帖
标题:新手小问题。。求大神指教
只看楼主 加入收藏
美女别跑嘛
Rank: 1
等 级:新手上路
帖 子:6
专家分:3
注 册:2012-7-14
结帖率:0
收藏
已结贴  问题点数:20 回复次数:57 
新手小问题。。求大神指教
用c语言怎么描述x=√(8n+1)是自然数啊..
搜索更多相关主题的帖子: c语言 自然数 
2012-07-31 16:27
zklhp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:china
等 级:贵宾
威 望:254
帖 子:11485
专家分:33241
注 册:2007-7-10
收藏
得分:3 
是开方的话 也就是

x^2 = 8n + 1

n递增 每次判断n是不是一个数的平方 是的话打出n

貌似不快 但很好想 期待大牛答案
2012-07-31 16:30
有容就大
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:东土大唐
等 级:版主
威 望:74
帖 子:9048
专家分:14309
注 册:2011-11-11
收藏
得分:3 
程序代码:
#include <stdio.h>
#include <math.h>
#include <Windows.h>
#define N 1000

int is_natrual(int number);

int main(void)
{
    int n, count = 0;
    for (n = 1; n <= N; n++)
    {
        if (is_natrual(8 * n + 1))
            {
                printf("while n = %d 8 * n + 1 = %d is a natrual number.\n", n, 8 * n + 1);
                count++;
            }
        if (count % 24 == 0)
            system("pause");
    }

    system("pause");
    return 0;
}


int is_natrual(int number)
{
    double m = (double)number;
    double test = sqrt(m) - (int)sqrt(m);
    return (!test);
}
图片附件: 游客没有浏览图片的权限,请 登录注册

梅尚程荀
马谭杨奚







                                                       
2012-07-31 16:49
有容就大
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:东土大唐
等 级:版主
威 望:74
帖 子:9048
专家分:14309
注 册:2011-11-11
收藏
得分:0 
呵呵 发现一个规律没有 当n = 1 是 8 * n + 1 = 9 是3的平方
那么后面 1 + 2 = 3 满足条件 1 + 2 + 3 = 6 满足条件 1 + 2 + 3 + 4 = 10 满足条件 ……
可以得出结论 从1 到 n 的连续之和 与 8 的乘积 再加一 是一个自然数的平方。
期待大牛 给出证明步骤。

梅尚程荀
马谭杨奚







                                                       
2012-07-31 16:57
stophin
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:3
帖 子:227
专家分:618
注 册:2010-3-26
收藏
得分:3 
很简单,将n设为(1+2+3+...+i),i>=1;那么
n=(i*(i+1))/2
8*n+1=4*i^2+4*i+1=(2i+1)^2
2012-07-31 17:28
有容就大
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:东土大唐
等 级:版主
威 望:74
帖 子:9048
专家分:14309
注 册:2011-11-11
收藏
得分:0 
回复 5楼 stophin
厉害!
那么如何证明这不仅仅是个充分条件 而是个充要条件呢?

梅尚程荀
马谭杨奚







                                                       
2012-07-31 17:31
有容就大
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:东土大唐
等 级:版主
威 望:74
帖 子:9048
专家分:14309
注 册:2011-11-11
收藏
得分:0 
应该这么说 怎么证明除了上述情况 程序不会有其他的n 满足 x=√(8n+1)是自然数。

梅尚程荀
马谭杨奚







                                                       
2012-07-31 17:39
beyondyf
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:103
帖 子:3282
专家分:12654
注 册:2008-1-21
收藏
得分:3 
呵呵,有容这个命题有意思。等下我组织组织语言。

重剑无锋,大巧不工
2012-07-31 17:55
有容就大
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:东土大唐
等 级:版主
威 望:74
帖 子:9048
专家分:14309
注 册:2011-11-11
收藏
得分:0 
回复 8楼 beyondyf
呵呵 期待杨大哥的推导,我也想了下 就是感觉无处下手。

梅尚程荀
马谭杨奚







                                                       
2012-07-31 18:01
beyondyf
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:103
帖 子:3282
专家分:12654
注 册:2008-1-21
收藏
得分:0 
重新整理一下这个命题的描述。

只要满足sqrt(8*n+1)是个自然数的整数n一定可以表示成n = (i^2 + i)/2的形式(其中i是整数)。


下面我将用反正法来证明。

设sqrt(8*n+1) = x,x是个自然数

那么 n = (x^2 - 1)/8 = (x - 1)*(x + 1)/8

由这个式子可以得出结论,x必然是个奇数。这个证明很简单,就不说了。


现在,假设存在这样的整数n,使得 n = (x^2 - 1)/8,且n != (i^2 + i)/2



(x^2 - 1)/8 != (i^2 + i)/2

x^2 - 1 != 4 * i^2 + 4 * i

x^2 != 4 * i^2 + 4 * i + 1 = (2 * i + 1)^2

x != 2 * i + 1

由于x是个奇数,所以x必然可以表示成2 * i + 1的形式,即对于任意的x,必然存在一个整数i,使得 x = 2 * i + 1。

由此证明假设不成立,而原命题成立。

证毕。

重剑无锋,大巧不工
2012-07-31 18:22
快速回复:新手小问题。。求大神指教
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.037441 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved