指標_快樂數字
user_3763047219
c_cpp
3 years ago
917 B
10
Indexable
#include "pch.h" #include <iostream> #include <stdio.h> #include <stdbool.h> int next_n(int); bool contains(int*, int, int); bool isHappy(int); int next_n(int n) { int n2 = n; int *sum = &n; int size = 1; while (n > 0) { if (contains(sum, size, *sum) == 1) { sum++; *sum = 0; while (n2 > 0) { *sum = *sum + (n2 % 10)*(n2 % 10); n2 = n2 / 10; } n2 = *sum; size++; if (*sum == 1) { return 1; } } else { return 0; } } } bool contains(int* history, int size, int n) { int i = 1; while (i<= size) { if (n == *(history - i)) { return 0; } i++; } return 1; } bool isHappy(int n) { if (next_n(n) == 1) { return 1; } else { return 0; } } #include <stdio.h> int main() { int n; scanf("%d", &n); if (isHappy(n)) { printf("true"); } else { printf("false"); } return 0; }
Editor is loading...