给定两个整数“ N”和“ K”,任务是在其奇数个位置(从右到左)查找“ N”的位数之和,并检查该和是否可被“ K”整除。如果可以整除,则输出YES ,否则输出NO 。
例子:
Input: N = 4325, K = 4
Output: YES
Since, 3 + 5 = 8, which is divisible by 4.
Input: N = 1209, K = 3
Output: NO
方法:
- 在奇数个位置(从右到左)找到“ N”的数字总和。
- 然后,以“ K”取模的和来检查和的可除性。
- 如果可以整除,则输出“是”,否则输出“否”。
下面是上述方法的实现:
C++
// C++ implementation of the approach
#include
using namespace std;
// function that checks the
// divisibility of the sum
// of the digits at odd places
// of the given number
bool SumDivisible(int n, int k)
{
int sum = 0, position = 1;
while (n > 0) {
// if position is odd
if (position % 2 == 1)
sum += n % 10;
n = n / 10;
position++;
}
if (sum % k == 0)
return true;
return false;
}
// Driver code
int main()
{
int n = 592452;
int k = 3;
if (SumDivisible(n, k))
cout << "YES";
else
cout << "NO";
return 0;
}
Java
// Java implementation of the approach
import java.util.*;
class solution
{
// function that checks the
// divisibility of the sum
// of the digits at odd places
// of the given number
static boolean SumDivisible(int n, int k)
{
int sum = 0, position = 1;
while (n > 0) {
// if position is odd
if (position % 2 == 1)
sum += n % 10;
n = n / 10;
position++;
}
if (sum % k == 0)
return true;
return false;
}
// Driver code
public static void main(String arr[])
{
int n = 592452;
int k = 3;
if (SumDivisible(n, k))
System.out.println("YES");
else
System.out.println("NO");
}
}
//This code is contributed by Surendra_Gangwar
Python 3
# Python 3 implementation of the approach
# function that checks the divisibility
# of the sum of the digits at odd places
# of the given number
def SumDivisible(n, k):
sum = 0
position = 1
while (n > 0) :
# if position is odd
if (position % 2 == 1):
sum += n % 10
n = n // 10
position += 1
if (sum % k == 0):
return True
return False
# Driver code
if __name__ =="__main__":
n = 592452
k = 3
if (SumDivisible(n, k)):
print("YES")
else:
print("NO")
# This code is contributed
# by ChitraNayal
C#
// C# implementation of the approach
using System;
class GFG
{
// function that checks the
// divisibility of the sum
// of the digits at odd places
// of the given number
static bool SumDivisible(int n, int k)
{
int sum = 0, position = 1;
while (n > 0)
{
// if position is odd
if (position % 2 == 1)
sum += n % 10;
n = n / 10;
position++;
}
if (sum % k == 0)
return true;
return false;
}
// Driver code
static public void Main ()
{
int n = 592452;
int k = 3;
if (SumDivisible(n, k))
Console.WriteLine("YES");
else
Console.WriteLine("NO");
}
}
// This code is contributed by Sachin
PHP
0)
{
// if position is odd
if ($position % 2 == 1)
$sum += $n % 10;
$n = (int)$n / 10;
$position++;
}
if ($sum % $k == 0)
return true;
return false;
}
// Driver code
$n = 592452;
$k = 3;
if (SumDivisible($n, $k))
echo "YES";
else
echo "NO";
// This code is contributed
// by Sach_Code
?>
Python3
# Python3 implementation of the
# above approach
def sumDivisible(n, k):
sum = 0
# Converting integer to string
num = str(n)
# Traversing the string
for i in range(len(num)):
if(i % 2 != 0):
sum = sum+int(num[i])
if sum % k == 0:
return True
return False
# Driver code
n = 592452
k = 3
if sumDivisible(n, k) == True:
print("YES")
else:
print("NO")
# This code is contributed by vikkycirus
输出:
YES
方法2:使用字符串()方法:
- 将整数转换为字符串,然后遍历字符串并通过将其存储在sum中来找到所有奇数索引的和。
- 如果总和可被k整除,则返回True否则为False。
下面是实现:
Python3
# Python3 implementation of the
# above approach
def sumDivisible(n, k):
sum = 0
# Converting integer to string
num = str(n)
# Traversing the string
for i in range(len(num)):
if(i % 2 != 0):
sum = sum+int(num[i])
if sum % k == 0:
return True
return False
# Driver code
n = 592452
k = 3
if sumDivisible(n, k) == True:
print("YES")
else:
print("NO")
# This code is contributed by vikkycirus
输出:
Yes