Aquí dado un rango de menor a mayor y dado un número k. Tienes que encontrar el número de conteo en el que un número tiene el mismo dígito que k
Ejemplos:
Input: low = 2, high = 35, k = 2 Output: 4 Numbers are 2, 12, 22, 32 Input: low = 3, high = 30, k = 3 Output: 3 Numbers are 3, 13, 23
Un enfoque ingenuo es atravesar todos los números en un rango dado y verificar el último dígito de cada número e incrementar el resultado si el último dígito es igual a k.
C++
// Simple CPP program to count numbers with // last digit as k in given range. #include <bits/stdc++.h> using namespace std; // Returns count of numbers with k as last // digit. int countLastDigitK(int low, int high, int k) { int count = 0; for (int i = low; i <= high; i++) if (i % 10 == k) count++; return count; } // Driver Program int main() { int low = 3, high = 35, k = 3; cout << countLastDigitK(low, high, k); return 0; }
Java
// Simple Java program to count numbers with // last digit as k in given range. import java.util.*; import java.lang.*; public class GfG { // Returns count of numbers with // k as last digit. public static int countLastDigitK(int low, int high, int k) { int count = 0; for (int i = low; i <= high; i++) if (i % 10 == k) count++; return count; } // driver function public static void main(String args[]) { int low = 3, high = 35, k = 3; System.out.println(countLastDigitK(low, high, k)); } } // This code is contributed by Sagar Shukla
Python3
# Simple python program to count numbers with # last digit as k in given range. # Returns count of numbers with k as last # digit. def countLastDigitK(low, high, k): count = 0 for i in range(low, high+1): if (i % 10 == k): count+=1 return count # Driver Program low = 3 high = 35 k = 3 print(countLastDigitK(low, high, k)) # This code is contributed by # Smitha Dinesh Semwal
C#
// Simple C# program to count numbers with // last digit as k in given range. using System; public class GfG { // Returns count of numbers with // k as last digit. public static int countLastDigitK(int low, int high, int k) { int count = 0; for (int i = low; i <= high; i++) if (i % 10 == k) count++; return count; } // Driver function public static void Main() { int low = 3, high = 35, k = 3; Console.WriteLine(countLastDigitK(low, high, k)); } } // This code is contributed by vt_m
PHP
<?php // Simple PHP program to count numbers with // last digit as k in given range. // Returns count of numbers with // k as last digit. function countLastDigitK($low, $high, $k) { $count = 0; for ($i = $low; $i <= $high; $i++) if ($i % 10 == $k) $count++; return $count; } // Driver Code $low = 3; $high = 35; $k = 3; echo countLastDigitK($low, $high, $k); // This code is contributed by ajit ?>
Javascript
<script> // java script PHP program to count numbers with // last digit as k in given range. // Returns count of numbers with // k as last digit. function countLastDigitK(low, high, k) { let count = 0; for (let i = low; i <= high; i++) if (i % 10 == k) count++; return count; } // Driver Code let low = 3; let high = 35; let k = 3; document.write( countLastDigitK(low, high, k)); // This code is contributed // by sravan kumar </script>
Producción:
4
Complejidad de tiempo: O (alta – baja)
Espacio Auxiliar: O(1)
Una solución eficiente se basa en que cada dígito aparece una vez como el último dígito de cada 10 números consecutivos.
C++
// Efficient CPP program to count numbers // with last digit as k in given range. #include <bits/stdc++.h> using namespace std; // Returns count of numbers with k as last // digit. int countLastDigitK(long long low, long long high, long long K) { long long mlow = 10 * ceil(low/10.0); long long mhigh = 10 * floor(high/10.0); int count = (mhigh - mlow)/10; if (high % 10 >= K) count++; if (low % 10 <=K && (low%10)) count++; return count; } // Driver Code int main() { int low = 3, high = 35, k = 3; cout << countLastDigitK(low, high, k); return 0; }
Java
// Efficient Java program to count numbers // with last digit as k in given range. import java.util.*; import java.lang.*; public class GfG { // Returns count of numbers with // k as last digit. public static int counLastDigitK(int low, int high, int k) { int mlow = 10 * (int) Math.ceil(low/10.0); int mhigh = 10 * (int) Math.floor(high/10.0); int count = (mhigh - mlow)/10; if (high % 10 >= k) count++; if (low % 10 <= k && (low%10) > 0) count++; return count; } // driver function public static void main(String argc[]) { int low = 3, high = 35, k = 3; System.out.println(counLastDigitK(low, high, k)); } } // This code is contributed by Sagar Shukla
Python3
import math # Efficient python program to count numbers # with last digit as k in given range. # Returns count of numbers with k as last # digit. def counLastDigitK(low, high, k): mlow = 10 * math.ceil(low/10.0) mhigh = 10 * int(high/10.0) count = (mhigh - mlow)/10 if (high % 10 >= k): count += 1 if (low % 10 <= k and \ (low%10) > 0): count += 1 return int(count) # Driver Code low = 3 high = 35 k = 3 print(counLastDigitK(low, high, k)) # This code is contributed by # Smitha Dinesh Semwal
C#
// Efficient Java program to count numbers // with last digit as k in given range. using System; public class GfG { // Returns count of numbers with // k as last digit. public static int counLastDigitK(int low, int high, int k) { int mlow = 10 * Convert.ToInt32( Math.Ceiling(low/10.0)); int mhigh = 10 * Convert.ToInt32( Math.Floor(high/10.0)); int count = (mhigh - mlow) / 10; if (high % 10 >= k) count++; if (low % 10 <= k && (low%10) > 0) count++; return count; } // Driver function public static void Main() { int low = 3, high = 35, k = 3; Console.WriteLine( counLastDigitK(low, high, k)); } } // This code is contributed by vt_m
Javascript
<script> // Efficient Javascript program to count numbers // with last digit as k in given range. // Returns count of numbers with // k as last digit. function counLastDigitK(low, high, k) { let mlow = 10 * (Math.ceil(low/10.0)); let mhigh = 10 * (Math.floor(high/10.0)); let count = (mhigh - mlow) / 10; if (high % 10 >= k) count++; if (low % 10 <= k && (low%10) > 0) count++; return count; } let low = 3, high = 35, k = 3; document.write(counLastDigitK(low, high, k)); </script>
Producción
4
Complejidad de tiempo : O(1)
Espacio Auxiliar: O(1)
Publicación traducida automáticamente
Artículo escrito por shrikanth13 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA