Nguythang

sohanhphuc

Nov 10th, 2015
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 0.87 KB | None | 0 0
  1. #include <stdio.h>
  2.  
  3. int countDigits(int n)
  4. {
  5.         int count = 0;
  6.         while (n != 0)
  7.         {
  8.                 n /= 10;
  9.                 count++;
  10.         }
  11.        
  12.         return count;
  13. }
  14.  
  15. int happyNumber(int n)
  16. {
  17.        
  18.         int digits = countDigits(n);
  19.         int left = 0, right = 0, i;
  20.        
  21.         for (i = 0; i < digits / 2; i++)
  22.         {
  23.                 right += n % 10;
  24.                 n /= 10;
  25.         }
  26.        
  27.         if (digits % 2 == 1)
  28.         n /= 10;
  29.        
  30.         for (i = 0; i < digits / 2; i++)
  31.         {
  32.                 left += n % 10;
  33.                 n /= 10;
  34.         }
  35.        
  36.         if (left == right)
  37.           return 1;
  38.         return 0;
  39. }
  40.  
  41. main()
  42. {
  43.         int n;
  44.         printf("n = ");
  45.         scanf("%d", &n);
  46.        
  47.         for (int i = 0; i < n; i++)
  48.                 if (happyNumber(i * i)) printf("\n%d %d", i, i * i);
  49.  
  50.         return 0;
  51. }
Advertisement
Add Comment
Please, Sign In to add comment