C++ 循环快乐数字 CS101.1X

c++ loops happy number cs101.1x

本文关键字:CS101 1X 数字 快乐 循环 C++      更新时间:2023-10-16

练习编程作业 (PPA 03(

快乐数:如果您重复该过程,则将数字之和平方,直到获得值 1,则数字称为快乐数。 例如,您需要执行以下操作才能执行此检查: (a( 计算其数字的平方和 (b( 如果结果值为 1,则该数字是快乐数, 否则执行点 (a(。如果一个数字不是一个快乐的数字,那么这个执行将有一个无限循环/循环。 任务:在此编程作业中,您需要编写代码来检查数字是否是快乐数字,仅持续 10 个周期(迭代(。下面给出了2个快乐数的例子(限制为10个周期(:

您需要执行以下操作: 求数字数字的平方和。 检查在第 1 点中获得的结果。如果为 1,则将值 1 分配给变量 'finalNumber',否则再次执行点 1,直到获得的数字为 1 或直到周期数增加到 10。 将迭代值分配给变量"cycle_no"。

用C++编写所需的代码。到目前为止我的代码:

int number, finalnumber, a, cycle_no;
cin>>number;
for (cycle_no=0,finalnumber=0;cycle_no<=10;cycle_no+=1)
{
for (a=0;number>0;number/=10) 
a=number%10;
finalnumber+=(a*a);
if (finalnumber==1)
break;
else
number=finalnumber;
continue;
}
cout<<finalnumber;
using namespace std;
int  a, number ;
int cycle_no=1;
int sumdigits( int number) 
{
int sum=0;  
while(number>0)
{a=number%10;
number/=10;
sum+=(a*a);} 
return sum;
}
int main(){
cin>>number;
while(cycle_no<=10)
{cycle_no+=1;
if(sumdigits(number)==1)
break;
else
number=sumdigits(number);

}if( sumdigits(number)==1)
cout<<sumdigits (number );
else cout<<number;
}