本文概述
给定两个整数" N"和" K", 任务是在奇数位(从右到左)找到" N"的数字总和, 并检查总和是否可被" K"整除。如果可以整除, 则输出是, 否则输出NO.
例子:
输入:N = 4325, K = 4
输出:YES, 因为3 + 5 = 8, 可以被4整除。
输入:N = 1209, K = 3
输出:NO
方法:
- 在奇数个位置(从右到左)找到" N"的数字总和。
- 然后, 以" K"取模, 检查总和的可除性。
- 如果可以整除, 则输出"是", 否则输出"否"。
下面是上述方法的实现:
C++
//C++ implementation of the approach
#include <bits/stdc++.h>
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
<?php
//PHP implementation of the approach
//function that checks the divisibility
//of the sum of the digits at odd places
//of the given number
function SumDivisible( $n , $k )
{
$sum = 0;
$position = 1;
while ( $n> 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
?>
输出如下:
YES