C语言程序设计基础02 ------ 计算分数不等式2

【题目描述】                                                                                       

求m的取值范围。

【求解思路】                                                                                        

  · 1、 式子中出现减运算,导致等式的解可能分段
  · 2、 设置循环条件,每三项一起求和,得一个解区间,然后回过来一项一项求和得个别离散解。

【求解代码】                                                                                        

 1 /*============================================================================*\
 2 * 计算d < 1 + 1/2 - 1/3 + 1/4 + 1/5 - 1/6+ ···  ±1/m 
 3 * 分母能被3整除的时候为"-"号
 4 * @date 3/13/2013
 5 * @CocoonFan
 6 * VC++ 6.0
 7 \*============================================================================*/
 8 
 9 #include <stdio.h>
10 
11 int main()
12 {
13     long d, m, k;
14     double s;
15 
16     printf("请输入d:");
17 
18     scanf("%d",&d);
19 
20     printf("%d < 1 + 1/2 - 1/3 + 1/4 + 1/5 - 1/6+ ···  ±1/m 的解为:",d);
21 
22     m = 1;
23     s = 0;
24 
25     while(1){                                        /* 得一个解区间 */
26 
27         s += 1.0/m + 1.0/(m+1) - 1.0/(m+2);
28 
29         if(s > d)
30             break;
31 
32         m += 3;
33 
34     }
35 
36     printf("\nm ≥ %ld\n",m);
37 
38     k = 1; s = 0;
39 
40     while(k < m){                                    /* 得一个离散解 */
41         
42             if(k%3 > 0){
43 
44             s += 1.0/k;
45 
46         } else {
47 
48             s -= 1.0/k;
49 
50         }
51 
52         if(s > d)
53             printf("m = %ld\n",k);
54 
55         ++k;
56     }
57 
58     return 0;
59 }


【测试结果】                                                                                         

转载于:https://www.cnblogs.com/CocoonFan/archive/2013/03/13/2956899.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值