标签: fractions

为什么 haskell 函数不能正常工作?

我想知道下面的 Haskellcode 有哪个错误!

f :: Fractional a => a -> a -> a
f x y
 | x > y = x - y
 | otherwise = x + y
call = f 3.5 2.0
Run Code Online (Sandbox Code Playgroud)

我试图解决这个问题,但我找不到解决方案,因为 3.5 和 2.0 是浮点数,应该适用于小数类型。

haskell fractions

1
推荐指数
1
解决办法
64
查看次数

使用java简化分数

嘿伙计们我在这里工作SW我有点需要帮助,你看我们需要制定一个方法,我们将简化分数.任何想法怎么样?这是我现在的代码(不介意dvalue方法它已经finsih我需要的只是简化方法)

public class Fraction {

    public int num;
    public int den;
    public double dValue;

    public void display()
    {
        System.out.println("Numerator: "+num);
        System.out.println("Denominator: "+den);
    }

    public double dValue()
    {
        dValue = (double)num/den;
        return dValue;
    }


}
Run Code Online (Sandbox Code Playgroud)
public class FractionTest {

        public static void main(String args[])
        {
            Fraction f = new Fraction();
            f.num = 50;
            f.den = 100;
            f.display();

            double d = f.dValue();
            System.out.println(d);
        }   
}
Run Code Online (Sandbox Code Playgroud)

java rational-number numbers fractions

0
推荐指数
1
解决办法
1万
查看次数

重载运算符C++:为什么分母乘以10

我正在进行一个分数分配,我提示用户输入两个分数,然后我对这两个分数进行加,减,乘和除.我知道我仍然需要减少分数,但我无法弄清楚为什么分母乘以10.如果我为frac1输入1 1/2,为frac2输入2 2/5,则分母为100而不是10太奇怪了..非常感谢!:)

// fraction9.cpp : main project file.
#include "stdafx.h"
#include<conio.h>
#include<iostream>
 #include<string>
using namespace std;


class Fraction
{
private:
   int whole;
   int numerator;       // may be any integer
   int denominator;     // should always be positive
public:
 Fraction();    // Set numerator = 0, denominator = 1.
 Fraction(int w, int n, int d=1);   // constructor with parameters
            //  acts as conversion constructor

 // operator overload as member
 Fraction operator+ (const Fraction& f) const; 
 Fraction operator- (const Fraction& f) const;
 Fraction …
Run Code Online (Sandbox Code Playgroud)

c++ class operator-overloading fractions

0
推荐指数
1
解决办法
2105
查看次数

如何完全减少/简化分数(C++)

我无法理解为什么当我在代码中输入正常分数时,为什么我会得到无限值.除了GCD(最大公约数)之外的所有东西似乎都在起作用.

在这个地方有一个明显明显的逻辑错误吗?

我已经完成了我的研究并找到了问题的各种答案,我的意思是维基百科甚至给你编写代码,但是我想弄清楚如何使它按照我现在的编码方式工作.

#include <iostream>
#include <stdlib.h>
#include <cmath>
#include <math.h>

using namespace std;

class Fraction
{
private:
   double num;
   double den;
   double fraction;
   double temp;
public:
   void setNum();
   void setDen();
   int getNum();
   int getDen();
   void lcdOutput();
   void decOutput();
   int gcd();
};

void Fraction::setNum(){
   cout << "Enter a value for your numerator: " << endl;
   cin >> num;
}

void Fraction::setDen(){
    cout << "Enter a value for your denominator: " << endl;
    cin >> den;
} …
Run Code Online (Sandbox Code Playgroud)

c++ struct class fractions

0
推荐指数
1
解决办法
8806
查看次数

截断浮点数,使其只有两位小数

C++

我想cout float f = 2.3333,但只有两位小数.我怎么做?我记得这样的事情,但它不起作用:

cout << f:2 << endl;
Run Code Online (Sandbox Code Playgroud)

c++ floating-point truncate rounding fractions

0
推荐指数
1
解决办法
1万
查看次数

如何计算double/float C++中的位数

我正在尝试计算double的小数部分的位数,但是出现问题并且我得到无限循环:

double pi = 3.141592;
int counter = 0;
for (; pi != int(pi); ++counter)
    pi *= 10;
cout << counter << endl;
Run Code Online (Sandbox Code Playgroud)

我刚读过这个问题,但是我找不到一个好的解决方案.除了将数字转换为字符串和计数字符之外,真的没有更好的方法吗?我想有更正确的方法.

c++ math fractions

0
推荐指数
1
解决办法
6558
查看次数

python中的分数返回了可笑的大数字

我有Python代码来解决一些递归,我希望它返回一些分数.

问题是我的代码返回荒谬的分数(这是正确的),但它们不是可能的最小分数,我知道它,因为我可以手动解决公式.

这是我的代码:

from __future__ import division
import sys
from fractions import Fraction
def t(n):
    if n==0:
        return 0
    else:
        return 1/(4-t(n-1))

print(Fraction(t(int(sys.argv[1]))))
Run Code Online (Sandbox Code Playgroud)

如果您运行此代码,python fraction.py 2您应该有4/15,但这是我得到的:

4803839602528529/18014398509481984
Run Code Online (Sandbox Code Playgroud)

我认为这在数值上是正确的,当我计算它时,我得到0.26666666666666666(也许两个分数在0位数的x位数处不同).

这里有什么问题?

python division fractions

0
推荐指数
1
解决办法
114
查看次数

获得数字的分数部分的最佳方法

鉴于const auto foo = 13.42我想得到数字小数部分,所以.42

我倾向于使用fmod像:fmod(foo, 1.0)

但我也可以做foo / static_cast<int>(foo) - 1.0或者或许其他一些神秘的方法.

我不会简单地使用动机fmod吗?

c++ decimal modulo fractions fmodf

0
推荐指数
1
解决办法
193
查看次数

分数表达式的 n 项之和为整数时应为浮点数

在下面的代码中,为什么除非我放入term = 1.0/n而不是 when ,否则我不会得到有效的结果term = 1/n。我已将 term 声明为浮动,这还不够吗?

#include <stdio.h>

int main()
{    
     float sum = 0, term;
     int n, i;
     
     printf("enter the value of n:\n");
     scanf("%d", &n);
     term = 1.0 / n;
     for(i = 1; i <= n; i++)
     {  
        sum = term + sum; 
       
      }
     printf("Sum = %.3f\n", sum);   
     
     return 0; 
}
Run Code Online (Sandbox Code Playgroud)

c integer-division fractions implicit-conversion

0
推荐指数
1
解决办法
100
查看次数

JS 大数分数且不损失精度

带分数支持的大数字:

我想在不损失精度的情况下执行数学运算。我怎样才能使用 JavaScript 来做到这一点?首先我尝试了decimal.js,但它没有保留精度,如下一个示例所示:

import {Decimal} from 'decimal.js';
const a1 = new Decimal(1);
const a2 = new Decimal(3);
console.log(a1.div(a2).toFraction()); // should be `1/3` but I get `33333333333333333333/100000000000000000000`
Run Code Online (Sandbox Code Playgroud)

接下来我尝试了fraction.js,但它不适用于大数字,例如:

import Fraction from 'fraction.js';
const n1 = new Fraction("99999999999999999999999999999999999999999999999");
const n2 = new Fraction("99999999999999999999999999999999999999999999990");
console.log(+(n1.sub(n2))) // should be 9, but I get 0
Run Code Online (Sandbox Code Playgroud)

是否有任何解决方案可以处理相对较大的数字(可以说与decimal.js支撑相同)但具有高精度(与fraction.js支撑相同)。

我检查了它在幕后的mathjs用途,所以对于大量数据来说没有任何优势:fraction.js

import * as math from "mathjs";
const a1 = math.fraction(math.number("99999999999999999999999999999999999999999999999"))
const a2 = math.fraction(math.number("99999999999999999999999999999999999999999999990"))
console.log(+(math.subtract(a1, a2))) …
Run Code Online (Sandbox Code Playgroud)

javascript math precision fractions mathjs

0
推荐指数
1
解决办法
300
查看次数

Python 中涉及分数和浮点数的计算精度损失

import sympy as sp
from fractions import Fraction

new_matrix_aux = [['X',   'B', 'X1', 'X2', 'X3', 'X4', 'X5', 'U1', 'U2'], 
                  ['X2', 10/3,    0,    1,  2/3,  1/3, -2/3, -1/3,  2/3],  
                  ['X1',  4/3,    1,    0,  2/3, -2/3,  1/3,  2/3, -1/3]]

z_function = "Z = 1 * X1 + 2 * X2 + 3 * X3 + 0 * X4 + 0 * X5 + M * U1 + M * U2"


lista_de_operaciones_zj = []

for j in range(1, len(new_matrix_aux[0])):
    z = z_function
    for …
Run Code Online (Sandbox Code Playgroud)

python math sympy fractions python-3.x

0
推荐指数
1
解决办法
62
查看次数

将整数除以16而不使用除法或强制转换

好的......让我改一下这个问题......

如何在不使用除法或转换加倍的情况下获得整数的x 16th ...

optimization division fractions

-2
推荐指数
1
解决办法
865
查看次数

Java中的分数

我不知道如何表示分数.我应该根据用户为两个分数输入的分子和分母将两个分数加在一起.活动要求我做的是将此作为印刷结果.

第一部分的分子是什么?1

第一部分的分母是多少?2

第二部分的分子是什么?2

第二部分的分母是多少?五

总和为1/2 + 2/5 = 9/10

问题后面的数字可以根据用户输入进行更改.

下面你可以看到我写的东西.

public class AddFractions extends ConsoleProgram
{
     public void run()
     {
         int numeratorFirst = readInt("What is the numerator of the first fraction?");
         int denominatorFirst = readInt("What is the denominator of the first fraction?");
         int numeratorSecond = readInt("What is the numerator of the second fraction?");
         int denominatorSecond = readInt("What is the denominator of the second fraction?");       
     }
}
Run Code Online (Sandbox Code Playgroud)

java fractions

-2
推荐指数
1
解决办法
1968
查看次数