Как написать код, чтобы проверить, является ли входное число счастливым числом или нет?
#include<iostream.h> #include<conio.h> void happy_no() { int sum=0,num,i,d,c=0; cout<<"enter a number: "; cin>>num; for(i=1;i<=10;i++) { d=num%10; sum+=(d*d); num/=10; if(sum==1) { c++; break; } num=sum; sum=0; } if(c==1) cout<<"HAPPY NUMBER"; else cout<<"NOT A HAPPY NUMBER"; } void main() {clrscr(); happy_no(); getch(); }
Что я уже пробовал:
Число называется счастливым числом, если вы повторяете процесс возведения в квадрат суммы цифр, пока не будет получено значение 1. Но это продолжающееся суммирование и проверка на sum = 1 должны произойти до 10-й итерации.
Более того, когда я набираю этот код в visual studio, он работает, а когда я делаю то же самое в visual studio, он не работает. Это действительно будет много значить, если вы скажете мне об исправлении и причине.