Advertisement
Guest User

Untitled

a guest
Nov 20th, 2019
128
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.02 KB | None | 0 0
  1. #include <iostream>
  2. #include <sstream>
  3. #include <math.h>
  4.  
  5. using namespace std;
  6.  
  7. bool podzielnosc2 (string liczba)
  8. {
  9. return(liczba[liczba.length()-1]%2==0);
  10. }
  11.  
  12. bool podzielnosc3 (string liczba)
  13. {
  14. int suma_cyfr=0;
  15.  
  16. for(int i=0;i<liczba.length();i++)
  17. {
  18. suma_cyfr+=liczba[i]-(int)'0';
  19. }
  20.  
  21. return(suma_cyfr%3==0);
  22.  
  23. }
  24.  
  25. bool podzielnosc4 (string liczba)
  26. {
  27. return(((liczba[liczba.length()-2]-(int)'0')*10+(liczba[liczba.length()-1]-(int)'0'))%4==0);
  28. }
  29.  
  30. bool podzielnosc5 (string liczba)
  31. {
  32. return(liczba[liczba.length()-1]=='0' || liczba[liczba.length()-1]=='5');
  33. }
  34.  
  35. bool podzielnosc6 (string liczba)
  36. {
  37. return(podzielnosc2(liczba) && podzielnosc3(liczba));
  38. }
  39.  
  40. bool podzielnosc7 (string liczba)
  41. {
  42. int mnozona_suma_cyfr=0;
  43. int x=0;
  44. int j=0;
  45.  
  46. for(int i=liczba.length()-1;i>=0;i--)
  47. {
  48. mnozona_suma_cyfr+=((int)liczba[i]-(int)'0')*pow(3,j);
  49. j++;
  50. }
  51. return(mnozona_suma_cyfr%7==0);
  52. }
  53.  
  54.  
  55. bool podzielnosc8 (string liczba)
  56. {
  57. int x;
  58. x = ((int)liczba[liczba.length()-3]-(int)'0')*100 + ((int)liczba[liczba.length()-2]-(int)'0')*10 + ((int)liczba[liczba.length()-1]-(int)'0');
  59. return(x%8==0);
  60. }
  61.  
  62. bool podzielnosc9 (string liczba)
  63. {
  64. int suma_cyfr=0;
  65.  
  66. for(int i=0;i<liczba.length();i++)
  67. {
  68. suma_cyfr+=liczba[i]-(int)'0';
  69. }
  70. return(suma_cyfr%9==0);
  71. }
  72.  
  73. bool podzielnosc10 (string liczba)
  74. {
  75. return(liczba[liczba.length()-1]=='0');
  76. }
  77.  
  78. bool podzielnosc11 (string liczba)
  79. {
  80. int suma_parzystych=0;
  81. int suma_nieparzystych=0;
  82. int roznica=0;
  83.  
  84. for(int i=0;i<liczba.length();i+=2)
  85. {
  86. suma_parzystych+=liczba[i]-(int)'0';
  87. }
  88. for(int j=1;j<liczba.length();j+=2)
  89. {
  90. suma_nieparzystych+=liczba[j]-(int)'0';
  91. }
  92. roznica=suma_nieparzystych-suma_parzystych;
  93.  
  94. return(roznica%11==0);
  95. }
  96.  
  97. bool podzielnosc12 (string liczba)
  98. {
  99. return(podzielnosc3(liczba) && podzielnosc4(liczba));
  100. }
  101.  
  102. bool podzielnosc13 (string liczba)
  103. {
  104. int suma=0;
  105. int n=liczba.size();
  106. int r[]={1,10,9,12,3,4};
  107. for(int i=n-1;i>=0;i--)
  108. {
  109. suma+=(liczba[i]-'0')*r[(6-((i+1)%6))];
  110. }
  111. return (suma%13==0);
  112. }
  113.  
  114. bool podzielnosc14 (string liczba)
  115. {
  116. return(podzielnosc2(liczba) && podzielnosc7(liczba));
  117. }
  118.  
  119. bool podzielnosc15 (string liczba)
  120. {
  121. return(podzielnosc3(liczba) && podzielnosc5(liczba));
  122. }
  123.  
  124. bool podzielnosc16 (string liczba)
  125. {
  126. int x,n;
  127. n=liczba.length();
  128. x = ( ((int)liczba[n-4]-(int)'0')*1000 + ((int)liczba[n-3]-(int)'0')*100 + ((int)liczba[n-2]-(int)'0')*10 + ((int)liczba[n-1]-(int)'0'));
  129. return(x%16==0);
  130. }
  131.  
  132. bool podzielnosc17 (string liczba)
  133. {
  134. int suma=0;
  135. int r[]={1,10,15,14,4,6,9,5,16,7,2,3,13,11,8,12};
  136.  
  137. for(int i=liczba.length()-1;i>=0;i--)
  138. {
  139. suma+=(liczba[i]-'0')*r[(16-((i+1)%16))];
  140. }
  141. return (suma%17==0);
  142. }
  143.  
  144.  
  145.  
  146. int main()
  147. {
  148. string liczba;
  149.  
  150. cin>>liczba;
  151.  
  152. cout<<"Podzielnosc przez 2 "<<podzielnosc2(liczba)<<endl;
  153. cout<<"Podzielnosc przez 3 "<<podzielnosc3(liczba)<<endl;
  154. cout<<"Podzielnosc przez 4 "<<podzielnosc4(liczba)<<endl;
  155. cout<<"Podzielnosc przez 5 "<<podzielnosc5(liczba)<<endl;
  156. cout<<"Podzielnosc przez 6 "<<podzielnosc6(liczba)<<endl;
  157. cout<<"Podzielnosc przez 7 "<<podzielnosc7(liczba)<<endl;
  158. cout<<"Podzielnosc przez 8 "<<podzielnosc8(liczba)<<endl;
  159. cout<<"Podzielnosc przez 9 "<<podzielnosc9(liczba)<<endl;
  160. cout<<"Podzielnosc przez 10 "<<podzielnosc10(liczba)<<endl;
  161. cout<<"Podzielnosc przez 11 "<<podzielnosc11(liczba)<<endl;
  162. cout<<"Podzielnosc przez 12 "<<podzielnosc12(liczba)<<endl;
  163. cout<<"Podzielnosc przez 13 "<<podzielnosc13(liczba)<<endl;
  164. cout<<"Podzielnosc przez 14 "<<podzielnosc14(liczba)<<endl;
  165. cout<<"Podzielnosc przez 15 "<<podzielnosc15(liczba)<<endl;
  166. cout<<"Podzielnosc przez 16 "<<podzielnosc16(liczba)<<endl;
  167. cout<<"Podzielnosc przez 17 "<<podzielnosc17(liczba)<<endl;
  168. return 0;
  169. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement