检查数字和的乘积是否等于数字
给定一个数字,检查数字和的乘积和数字和的倒数是否等于该数字。
例子:
Input : 1729
Output : Yes
Explanation:
digit sum = 1 + 7 + 2 + 9
= 19
Reverse of digit sum = 91
Product = digit sum * Reverse of digit sum
= 19 * 91
= 1729
Input : 2334
Output : No
流程图:
方法 :
1. 求给定数的位数之和。
2. 反转数字和输出。
3. 数字和的乘积和数字和的逆。
如果产品等于原始数量,则打印“是”,否则打印“否”。
C++
// CPP implementation to check if the
// product of digit sum and its
// reverse equals the number or not
#include
using namespace std;
// Function that returns number after
// performing operations.
int check(int num)
{
int digitSum = 0;
// loop used to count digit sum
// of numbers.
while(num > 0)
{
digitSum = digitSum + num % 10;
num = num / 10;
}
int temp = digitSum;
int reverseDigitSum = 0;
// loop that reverse digit sum.
while(temp > 0)
{
int rem = temp % 10;
reverseDigitSum = reverseDigitSum * 10
+ rem;
temp = temp / 10;
}
// product of digit sum and reverse digit
// sum and assign it to number variables.
int number = digitSum * reverseDigitSum;
return number;
}
// Driver function
int main()
{
int num = 1729;
// call check() function.
int x = check(num);
// check if original number equals
// to x or not
if (num == x)
cout << "Yes";
else
cout << "No";
return 0;
}
Java
// JAVA implementation to check if the
// product of digit sum and its
// reverse equals the number or not
class GFG {
// Function that returns number after
// performing operations.
static int check(int num)
{
int digitSum = 0;
// loop used to count digit sum
// of numbers.
while(num > 0)
{
digitSum = digitSum + num % 10;
num = num / 10;
}
int temp = digitSum;
int reverseDigitSum = 0;
// loop that reverse digit sum.
while(temp > 0)
{
int rem = temp % 10;
reverseDigitSum = reverseDigitSum * 10
+ rem;
temp = temp / 10;
}
// product of digit sum and reverse digit
// sum and assign it to number variables.
int number = digitSum * reverseDigitSum;
return number;
}
// Driver function
public static void main(String args[])
{
int num = 1729;
// call check() function.
int x = check(num);
// check if original number equals
// to x or not
if (num == x)
System.out.println("Yes");
else
System.out.println("No");
}
}
// This code is contributed by Nikita Tiwari
Python3
# Python implementation to check if the
# product of digit sum and its
# reverse equals the number or not
# Function that returns number after
# performing operations.
def check(num) :
digitSum = 0
# loop used to count digit sum
# of numbers.
while(num != 0) :
digitSum = digitSum + num % 10
num = num // 10
temp = (int)(digitSum)
reverseDigitSum = 0
# loop that reverse digit sum.
while(temp != 0) :
rem = temp % 10
reverseDigitSum = reverseDigitSum * 10 + rem
temp = temp / 10
# product of digit sum and reverse digit
# sum and assign it to number variables.
number = digitSum * reverseDigitSum
return number
# Driver function
num = 1729
# call check() function.
x = (check(num))
# check if original number
# equals to x or not
if (num == x) :
print("Yes")
else :
print("No")
# This code is contributed by Nikita Tiwari.
C#
// Code to check if the product
// of digit sum and its reverse
// equals the number or not
using System;
class GFG {
// Function that returns number
// after performing operations.
static int check(int num)
{
int digitSum = 0;
// loop used to count digit
// sum of numbers.
while (num > 0) {
digitSum = digitSum + num % 10;
num = num / 10;
}
int temp = digitSum;
int reverseDigitSum = 0;
// loop that reverse digit sum.
while (temp > 0) {
int rem = temp % 10;
reverseDigitSum = reverseDigitSum * 10
+ rem;
temp = temp / 10;
}
// product of digit sum and
// reverse digit sum, assign
// it to number variables.
int number = digitSum * reverseDigitSum;
return number;
}
// Driver function
public static void Main()
{
int num = 1729;
// call check() function.
int x = check(num);
// check if original number
// equals to x or not
if (num == x)
Console.WriteLine("Yes");
else
Console.WriteLine("No");
}
}
// This code is contributed by Anant Agarwal.
PHP
0)
{
$digitSum = $digitSum +
$num % 10;
$num = (int)($num / 10);
}
$temp = $digitSum;
$reverseDigitSum = 0;
// loop that reverse
// digit sum.
while($temp > 0)
{
$rem = $temp % 10;
$reverseDigitSum = $reverseDigitSum *
10 + $rem;
$temp = (int)($temp / 10);
}
// product of digit sum
// and reverse digit
// sum and assign it
// to number variables.
$number = $digitSum * $reverseDigitSum;
return $number;
}
// Driver Code
$num = 1729;
// call check() function.
$x = check($num);
// check if original
// number equals
// to x or not
if ($num == $x)
echo("Yes");
else
echo("No");
// This code is contributed by Ajit.
?>
Javascript
输出:
Yes
时间复杂度: O(log 10 (num))
辅助空间: 1