您现在的位置: 中国男护士网 >> 考试频道 >> 计算机等级 >> 二级辅导 >> C语言 >> 辅导 >> 正文    
  C趣味编程百例(13)分数之和 【注册男护士专用博客】          

C趣味编程百例(13)分数之和

www.nanhushi.com     佚名   不详 

44.分数之和
    求这样的四个自然数p,q,r,s(p<=q<=r<=s),使得以下等式成立:           

*问题分析与算法设计
    若规定p<=q<=r<=s,将原式通分、化简并整理后得到:
        2<=p<5     p<=q<7     q<r<13
    采用最简单的穷举方法可以很方便的求解。
程序与程序注释:
#include<stdio.h>
void main()
{
    int p,q,r,s,count=0;
    printf("The 4 fractions which sum is equal 1 are:\n");
    for(p=2;p<5;p++)                /*穷举分母*/
        for(q=p;q<7;q++)
            for(r=q;r<13;r++)
                if(p*q*r-q*r-p*r-p*q!=0)
                {
                    s=(p*q*r)/(p*q*r-q*r-p*r-p*q);        /*求出s的值*/
                    if(!((p*q*r)%(p*q*r-q*r-p*r-p*q))&&s>=r)
                        printf("[%2d]    1/%d+1/%d+1/%d+1/%d=1\n",++count,p,q,r,s);
                                                            /*输出结果*/
                }
}
*运行结果

*思考题
    将1、2、3、4、5、6、7、8、9九个数字分成以下三种分数形式之一,每个数字只能用一次,使得该分数刚好等于一个整数。


求所有满足条件的表示形式。
(参考答案:某些自然数没有这种表示形式,如:1、2、3、4、15、18等。此外整数100有11种满足条件的表示形式;89的表示形式最多,共有36种;三种形式中,最大可表示的整数为794。)

 

 

文章录入:杜斌    责任编辑:杜斌 
  • 上一篇文章:

  • 下一篇文章:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
     

    联 系 信 息
    QQ:88236621
    电话:15853773350
    E-Mail:malenurse@163.com
    免费发布招聘信息
    做中国最专业男护士门户网站
    最 新 热 门
    最 新 推 荐
    相 关 文 章
    没有相关文章
    专 题 栏 目