Advertisement
Guest User

Untitled

a guest
Oct 23rd, 2019
173
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.84 KB | None | 0 0
  1. #include <iostream>
  2. #include <string>
  3. #include <vector>
  4. #include <algorithm>
  5. void NWW(unsigned long liczbaa);
  6. unsigned long NWD(int liczba1, int liczba2);
  7. int main()
  8. {
  9. unsigned short z = 0;
  10. std::cin >> z;
  11. unsigned long liczba;
  12. for(int i = 0; i < z; i++){
  13. std::cin >> liczba;
  14. NWW(liczba);
  15. }
  16. return 0;
  17. }
  18.  
  19. void NWW(unsigned long liczbaa){
  20. unsigned long number = liczbaa;
  21. std::vector < unsigned long> dzielniki;
  22. dzielniki.push_back(number);
  23. if(number%2 == 0){
  24. number = number/2;
  25. dzielniki.push_back(number);
  26. } else{
  27. number = number / 2;
  28. }
  29. while(number != 1){
  30. number--;
  31. if(liczbaa % number == 0){
  32. dzielniki.push_back(number);
  33. }
  34. }
  35. int counter = 0;
  36. int seqStart = 0;
  37. int seqEnd = 0;
  38. std::reverse(dzielniki.begin(), dzielniki.end());
  39. for(int i = 0; i < (dzielniki.size()-1); i++){
  40. if(dzielniki[i] == (dzielniki[i+1]-1)){
  41. counter++;
  42. } else if(counter > (seqEnd-seqStart)){
  43. seqStart = i-counter;
  44. seqEnd = i;
  45. counter = 0;
  46. } else if(counter == (seqEnd-seqStart)){
  47. if(dzielniki[i - counter] > dzielniki[seqStart]){
  48. continue;
  49. }
  50. }
  51. }
  52. if(seqStart == seqEnd){
  53. std::cout << "NIE" << std::endl;
  54. } else{
  55. std::cout << dzielniki[seqStart] << " " << dzielniki[seqEnd] << std::endl;
  56. }
  57. }
  58.  
  59. unsigned long NWD(int liczba1, int liczba2){
  60. if(liczba1%liczba2 == 0){
  61. return liczba2;
  62. } else {
  63. int b = liczba1%liczba2;
  64. return NWD(liczba2,b);
  65. }
  66. }
  67.  
  68. unsigned long NWWmax()
  69.  
  70. unsigned long NWW(unsigned long liczba1, unsigned long liczba2){
  71. return (liczba1 * liczba2) / NWD(liczba1, liczba2);
  72. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement