本文概述
给定一个大数字”num”表示为字符串和一个整数x, 请找到”num % x”或” num mod x”的值。预期输出为整数。
例子 :
Input: num = "12316767678678", a = 10
Output: num (mod a) ≡ 8
这个想法是一一处理所有数字并使用xy(mod a)≡((x(mod a)* y)(mod a))的属性。下面是实现。
感谢utkarsh111建议以下解决方案。
C ++
// C++ program to compute mod of a big number represented
// as string
#include<iostream>
using namespace std;
// Function to compute num (mod a)
int mod(string num, int a)
{
// Initialize result
int res = 0;
// One by one process all digits of 'num'
for ( int i = 0; i < num.length(); i++)
res = (res*10 + ( int )num[i] - '0' ) %a;
return res;
}
// Driver program
int main()
{
string num = "12316767678678" ;
cout << mod(num, 10);
return 0;
}
Java
// Java program to compute mod of a big
// number represented as string
import java.io.*;
class GFG {
// Function to compute num (mod a)
static int mod(String num, int a)
{
// Initialize result
int res = 0 ;
// One by one process all digits of 'num'
for ( int i = 0 ; i < num.length(); i++)
res = (res * 10 + ( int )num.charAt(i)
- '0' ) % a;
return res;
}
// Driver program
public static void main(String[] args)
{
String num = "12316767678678" ;
System.out.println(mod(num, 10 ));
}
}
// This code is contributed by vt_m.
Python3
# program to compute mod of a big number
# represented as string
# Function to compute num (mod a)
def mod(num, a):
# Initialize result
res = 0
# One by one process all digits
# of 'num'
for i in range ( 0 , len (num)):
res = (res * 10 + int (num[i])) % a;
return res
# Driver program
num = "12316767678678" ;
print (mod(num, 10 ))
# This code is contributed by Sam007
C#
// C# program to compute mod of a big
// number represented as string
using System;
public class GFG
{
// Function to compute num (mod a)
static int mod(String num, int a)
{
// Initialize result
int res = 0;
// One by one process all
// digits of 'num'
for ( int i = 0; i < num.Length; i++)
res = (res * 10 + ( int )num[i]-
'0' ) % a;
return res;
}
// Driver code
public static void Main()
{
String num = "12316767678678" ;
Console.WriteLine(mod(num, 10));
}
}
// This code is contributed by Sam007
的PHP
<?php
// PHP program to compute mod
// of a big number represented
// as string
// Function to compute num (mod a)
function mod( $num , $a )
{
// Initialize result
$res = 0;
// One by one process
// all digits of 'num'
for ( $i = 0; $i < $r = strlen ( $num ); $i ++)
$res = ( $res * 10 +
$num [ $i ] - '0' ) % $a ;
return $res ;
}
// Driver Code
$num = "12316767678678" ;
echo mod( $num , 10);
// This code is contributed by ajit
?>
输出:
8
如果发现任何不正确的地方, 或者想分享有关上述主题的更多信息, 请发表评论。