Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- int countDigits(int n) {
- int count = 0;
- while (n != 0) {
- n /= 10; ++count;
- }
- return count;
- }
- int happyNumber(int n) {
- // Return 1 if n is happy, 0 otherwise
- int digits = countDigits(n);
- int left = 0, right = 0, i;
- for (i = 0; i < digits / 2; ++i) {
- right += n % 10; n /= 10;
- }
- if (digits % 2 == 1) n /= 10;
- for (i = 0; i < digits / 2; ++i) {
- left += n % 10; n /= 10;
- }
- if (left == right) return 1;
- return 0;
- }
- int main()
- {
- int n;
- printf("n = ");
- scanf("%d", &n);
- for (int i = 0; i < n; ++i)
- if (happyNumber(i * i)) printf("\n%d %d", i, i * i);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement