Given two floating-point numbers, find the remainder.
Example:
Input: a = 36.5, b = 5.0
Output: 1.5
Input: a = 9.7, b = 2.3
Output: 0.5
Recommendation: Please address the practice first, before proceeding with the solution.
A simple solution is to do iterative subtraction.
C ++
//CPP program to find modulo of floating
//point numbers.
#include <bits/stdc++.h>
using namespace std;
double findMod( double a, double b)
{
double mod;
//Handling negative values
if (a <0)
mod = -a;
else
mod = a;
if (b <0)
b = -b;
//Finding mod by repeated subtraction
while (mod>= b)
mod = mod - b;
//Sign of result typically depends
//on sign of a.
if (a <0)
return -mod;
return mod;
}
//Driver Function
int main()
{
double a = 9.7, b = 2.3;
cout <<findMod(a, b);
return 0;
}
Java
//Java program to find modulo of floating
//point numbers
class GFG
{
static double findMod( double a, double b)
{
//Handling negative values
if (a <0 )
a = -a;
if (b <0 )
b = -b;
//Finding mod by repeated subtraction
double mod = a;
while (mod>= b)
mod = mod - b;
//Sign of result typically depends
//on sign of a.
if (a <0 )
return -mod;
return mod;
}
//Driver code
public static void main (String[] args)
{
double a = 9.7 , b = 2.3 ;
System.out.print(findMod(a, b));
}
}
//This code is contributed by Anant Agarwal.
Python3
# Python3 program to find modulo
# of floating point numbers.
def findMod(a, b):
# Handling negative values
if (a <0 ):
a = - a
if (b <0 ):
b = - b
# Finding mod by repeated subtraction
mod = a
while (mod> = b):
mod = mod - b
# Sign of result typically
# depends on sign of a.
if (a <0 ):
return - mod
return mod
# Driver code
a = 9.7 ; b = 2.3
print (findMod(a, b))
# This code is contributed by Anant Agarwal.
C#
//C# program to find modulo of floating
//point numbers
using System;
class GFG {
static double findMod( double a, double b)
{
//Handling negative values
if (a <0)
a = -a;
if (b <0)
b = -b;
//Finding mod by repeated subtraction
double mod = a;
while (mod>= b)
mod = mod - b;
//Sign of result typically depends
//on sign of a.
if (a <0)
return -mod;
return mod;
}
//Driver code
public static void Main ()
{
double a = 9.7, b = 2.3;
Console.WriteLine(findMod(a, b));
}
}
//This code is contributed by vt_m.
PHP
<?php
//PHP program to find modulo
//of floatingpoint numbers.
function findMod( $a , $b )
{
//Handling negative values
if ( $a <0)
$a = - $a ;
if ( $b <0)
$b = - $b ;
//Finding mod by repeated
//subtraction
$mod = $a ;
while ( $mod>= $b )
$mod = $mod - $b ;
//Sign of result typically
//depends on sign of a.
if ( $a <0)
return - $mod ;
return $mod ;
}
//Driver Code
$a = 9.7; $b = 2.3;
echo findMod( $a , $b );
//This code is contributed by anuj_65.
?>
Output:
0.5
We can use the built-in fmod function to find out the modulus of two floating-point numbers.
C ++
//CPP program to find modulo of floating
//point numbers using library function.
#include <bits/stdc++.h>
using namespace std;
//Driver Function
int main()
{
double a = 9.7, b = 2.3;
cout <<fmod (a, b);
return 0;
}
PHP
<?php
//PHP program to find modulo of
//floating point numbers using
//library function.
//Driver Code
$a = 9.7; $b = 2.3;
echo fmod ( $a , $b );
//This code is contributed
//by inder_verma
?>
The output is as follows:
0.5