fork(1) download
  1. #include <iostream>
  2. #include <string>
  3.  
  4. using namespace std;
  5.  
  6. string stringModuloWithoutLeadingZeros(const string& str, int n) {
  7. long long result = 0;
  8.  
  9. // Oblicz string modulo int
  10. for (char c : str) {
  11. result = (result * 10 + (c - '0')) % n;
  12. }
  13.  
  14. // Zamiana wyniku na string
  15. string resultStr = to_string(result);
  16.  
  17. // Usunięcie zer wiodących
  18. size_t nonZeroPos = resultStr.find_first_not_of('0');
  19. if (nonZeroPos != string::npos) {
  20. return resultStr.substr(nonZeroPos); // Zwracamy wynik bez zer wiodących
  21. } else {
  22. return "0"; // Jeśli wynik to 0
  23. }
  24. }
  25.  
  26. int main() {
  27. string input;
  28. int n;
  29.  
  30. cout << "Podaj string (liczbę): ";
  31. cin >> input;
  32.  
  33. cout << "Podaj modulo: ";
  34. cin >> n;
  35.  
  36. string result = stringModuloWithoutLeadingZeros(input, n);
  37. cout << "Wynik: " << result << endl;
  38.  
  39. return 0;
  40. }
Success #stdin #stdout 0.01s 5280KB
stdin
Standard input is empty
stdout
Podaj string (liczbę): Podaj modulo: Wynik: 0