zoukankan      html  css  js  c++  java
  • UVa834 Continued Fractions【连分数】

    问题链接UVa834 Continued Fractions

    问题简述:参见上述链接。

    问题分析

    这是一个分数转换为连分数的问题。

    需要了解和掌握有关连分数的概念与表示方式,可以查看中英文版的维基百科的“连分数”。

    剩下的就是简单的分数计算问题了。

    程序说明

    需要考虑特例的情况,例如,分数实际上是整数的情况。

    程序中不考虑约分的问题。

    程序中的迭代计算过程尽可能地简洁。

    题记把功能封装到函数是一种好的做法,程序逻辑更加简洁。


    AC的C++语言程序如下:

    /* UVa834 Continued Fractions */
    
    #include <iostream>
    
    using namespace std;
    
    void fraction2continuedfraction(int n, int d)
    {
        int nextd;
        char separator = ';';
    
        if(n % d == 0)
            printf("[%d]
    ", n / d);
        else {
            printf("[");
            printf("%d", n / d);
            nextd = n % d;
            n = d;
            d = nextd;
            while(d != 0) {
                printf("%c", separator);
                printf("%d", n / d);
    
                nextd = n % d;
                n = d;
                d = nextd;
    
                separator = ',';
            }
            printf("]
    ");
        }
    }
    
    int main()
    {
        int n, d;
    
        while(cin >> n >> d) {
            fraction2continuedfraction(n, d);
        }
    
        return 0;
    }


  • 相关阅读:
    day10作业
    day9 函数作业
    Python编码及文件练习题
    day10函数命名空间,嵌套,闭包
    Python基础数据类型考试题
    day9 函数
    day8 文件操作
    day7 集合
    day6 编码
    day5 作业自我完成版
  • 原文地址:https://www.cnblogs.com/tigerisland/p/7563749.html
Copyright © 2011-2022 走看看