C 8
Lab9 By zlax on 3rd December 2024 07:49:23 PM
  1. #include <stdio.h>
  2. #define BASE 7
  3.  
  4. unsigned long int BASEto10(unsigned long int a);
  5. unsigned long int DECtoBASE(unsigned long int a);
  6.  
  7. int main(void) {
  8.         unsigned long int s,d;
  9.         scanf("%ld", &s);
  10.         scanf("%ld", &d);
  11.         if (s <= 4266666666) printf("%d\n", BASEto10(s));
  12.         else printf("!\n");
  13.         if (d <= 4266666666) printf("%d\n", DECtoBASE(d));
  14.         else printf("!\n");
  15.         return 0;
  16. }
  17.  
  18. unsigned long int BASEto10(unsigned long int a) {
  19.     if (a == 0) return 0;
  20.         if (a < 4266666666) {
  21.                 int k=1;
  22.                 long int a10=0;
  23.                 while (a) {
  24.                         a10 += k*(a%10);
  25.                         k *= BASE;
  26.                         a /= 10;
  27.                 }
  28.                 return a10;
  29.         }
  30.         return 0;
  31. }
  32.  
  33. unsigned long int DECtoBASE(unsigned long int a) {
  34.     if (a == 0) return 0;
  35.         if (a < 4266666666)
  36.                 return (a % BASE) + 10 * DECtoBASE(a / BASE);
  37.         return 0;
  38. }

Paste is for source code and general debugging text.

Raw Paste

Login or Register to edit or fork this paste. It's free.