| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 514 人关注过本帖
标题:有几个程序迷糊了想不到该怎么写,求高手帮忙
只看楼主 加入收藏
凤凰涅槃
Rank: 2
来 自:甘肃定西
等 级:论坛游民
帖 子:47
专家分:36
注 册:2012-3-5
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:9 
有几个程序迷糊了想不到该怎么写,求高手帮忙
1.求满足不等式1+1/2+1/3+……1/n>val的n,val为大于1的任何数。(我编出来他是一个死循环所以求高手帮忙)
2.编一程序,检查由P=n*n+n+41(n为自然数)算得的P是否为素数。
我写的其中一个是死循环啊;
main()
{
float s,val;
int n;
s=0;
n=1;
scanf("%f",&val);
while(s<=val)
{n++;
s+=1/n;
}
printf("%d\n",n);
}
搜索更多相关主题的帖子: 检查 自然数 不等式 
2012-04-14 22:43
a646404908
Rank: 6Rank: 6
等 级:侠之大者
威 望:5
帖 子:189
专家分:492
注 册:2012-2-14
收藏
得分:3 
main()
{
float s,val;
int n;
s=1;
n=1;
scanf("%f",&val);
while(n<=val)
{n++;
s+=1/n;
}
printf("%d\n",s);
}


[ 本帖最后由 a646404908 于 2012-4-14 22:56 编辑 ]
2012-04-14 22:52
love24114
Rank: 5Rank: 5
等 级:职业侠客
威 望:1
帖 子:223
专家分:399
注 册:2011-7-11
收藏
得分:3 
s+=1.0/n;
2012-04-14 22:54
love24114
Rank: 5Rank: 5
等 级:职业侠客
威 望:1
帖 子:223
专家分:399
注 册:2011-7-11
收藏
得分:0 
int isprime(int n)
{
   
    if(n==2) return 1;
    if(n<=1 || (n%2==0)) return 0;
    for(int i=3;i*i<=n;i+=2)
        if(n%i ==0) return 0;
    return 1;
}
2012-04-14 22:57
cuijunchao
Rank: 5Rank: 5
来 自:湖南桂东
等 级:职业侠客
威 望:3
帖 子:132
专家分:386
注 册:2012-4-4
收藏
得分:3 
你这个程序不时语言的问题,是数学的问题,学过数学分析没有,那时一个求数列的问题,你的这个是没有极限的,
但是这还不时问题所在,应该是数据的有效值问题,当计算到1/100000000000000时电脑会看作为零的,因为数据有效位数.你的s就不会变大了,就死了。你把 val 写小点就应该可以的。
2012-04-14 23:30
ab1034982749
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
帖 子:215
专家分:1185
注 册:2012-4-14
收藏
得分:3 
1)你不是要求s=1+1/2+1/3+……+1/n吗?你的那个所谓的死循环程序中的s应该赋初值为1而不是0;
2)编一程序,检查由P=n*n+n+41(n为自然数)算得的P是否为素数。
程序代码为:
#include<stdio.h>
void main()
{
    int n;
    long P;
    int i;
    printf("请输入n的值:");
    scanf("%d",&n);
    P=n*n+n+41;
    for(i=2;i<=P/2;i++)
        if(P%i==0)
        {
            printf("P=%d*%d+%d+41=%ld不是素数!",n,n,n,P);break;
        }
    if(i>P/2)
        printf("P=%d*%d+%d+41=%ld是素数!\n",n,n,n,P);

}
2012-04-15 02:11
love24114
Rank: 5Rank: 5
等 级:职业侠客
威 望:1
帖 子:223
专家分:399
注 册:2011-7-11
收藏
得分:0 
回复 5楼 cuijunchao
他这个情况是数据类型的变换不大清楚
2012-04-15 08:14
ouyangouyang
Rank: 7Rank: 7Rank: 7
等 级:黑侠
帖 子:273
专家分:579
注 册:2009-10-8
收藏
得分:3 
#include"stdio.h"
#include"stdlib.h"
int prme(int k)
{
int i;
for(i=2;i<=k/2;i++)
 if(k%i==0) return 0;
return 1;

}
main()
{
    int n,i=0;
    for(n=1;n<100;n++)
     if(prme(n*n+n+41)) {printf("%d\n",n);i++;}
    printf("一共有%d个数",i);
    system("pause");
}
你这个式子出现素数频率还蛮高的嘛100个数字出现85个

多少恨, 昨夜梦魂中。 还似旧时游上苑, 车如流水马如龙; 花月正春风!
2012-04-15 09:43
C_戴忠意
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:2
帖 子:575
专家分:1349
注 册:2011-10-21
收藏
得分:3 
这个其实很简单的,楼主不用功喔,你完全可以自己做出来。

编程之路定要走完……
2012-04-15 10:08
love24114
Rank: 5Rank: 5
等 级:职业侠客
威 望:1
帖 子:223
专家分:399
注 册:2011-7-11
收藏
得分:0 
回复 9楼 C_戴忠意
不要说废话,直接上代码,别人不需要你教训。
2012-04-15 12:30
快速回复:有几个程序迷糊了想不到该怎么写,求高手帮忙
数据加载中...
 
   



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

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