JeLLQ

Untitled

Oct 23rd, 2017
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.62 KB | None | 0 0
  1. #include <iostream>
  2.  
  3. using namespace std;
  4.  
  5. long long int potega(int j, int k){
  6. int potega=1;
  7. for(int i=0; i<j; i++){
  8. potega=potega*k;
  9. }
  10. return potega;
  11. }
  12.  
  13. long long int dziesietna(string liczba, int system){
  14. long long int dzies=0;
  15. for(int i=liczba.length()-1; i>=0; i--){
  16. if(int(liczba[i])<58){
  17. dzies+=(int(liczba[i])-48)*potega(liczba.length()-i-1,system);
  18. }else if(int(liczba[i])>64 && int(liczba[i])<91){
  19. dzies+=(int(liczba[i])-55)*potega(liczba.length()-i-1,system);
  20. }else{
  21. dzies+=(int(liczba[i])-87)*potega(liczba.length()-i-1,system);
  22. }
  23. }
  24. return dzies;
  25. }
  26.  
  27. string inna(long long int dzies, int system){
  28. string liczba="";
  29. do{
  30. char i;
  31. if(dzies%system<10){
  32. i = (dzies%system)+48;
  33. }else{
  34. i = (dzies%system)+55;
  35. }
  36. liczba=i+liczba;
  37. dzies=dzies/system;
  38. }while(dzies!=0);
  39. return liczba;
  40. }
  41.  
  42. int main()
  43. {
  44. int n, m;
  45. string l;
  46. cin>>n;
  47. cin>>l;
  48. cin>>m;
  49. bool nan=true;
  50. for(int i=0; i<l.length(); i++){
  51. if(!((int(l[i])>47 && int(l[i])<(48+n) && int(l[i])<58) || (n>10 && int(l[i])>64 && int(l[i])<55+n))){
  52. nan=false;
  53. }
  54. }
  55. bool nan1=true;
  56. for(int i=0; i<l.length(); i++){
  57. if(!((int(l[i])>47 && int(l[i])<(48+n) && int(l[i])<58) || (n>10 && int(l[i])>96 && int(l[i])<87+n))){
  58. nan1=false;
  59. }
  60. }
  61. if(nan || nan1){
  62. cout<<inna(dziesietna(l,n),m);
  63. }else{
  64. cout<<"NaN";
  65. }
  66.  
  67. return 0;
  68. }
Advertisement
Add Comment
Please, Sign In to add comment