【循环测试试题2】小X与三次方

题目描述

卡卡西要过 10 岁生日啦!今年,她特别想要一份与众不同的礼物,那就是一条能在阳光下发出五光十色耀眼光芒的水晶项链。她把这个想法告诉了妈妈。妈妈对卡卡西神秘的一笑,透露道:"邻居芭比阿姨家有个后花园。她的花园里有很多漂亮的水晶珠。可是芭比阿姨从来不会轻易让人进入她的后花园,你必须回答出她提出的问题,才可以进去采集水晶珠......"还没等妈妈说完,卡卡西已经迫不及待的飞奔而去。她来到芭比阿姨家,说明了来意,芭比阿姨乐呵呵的说:"卡卡西,如果你能回答出我的问题,我可以让你进入我的水晶花园。我的问题很简单,给你一个三位数,你要对这个三位数的各位数字的 3 次方求和,然后再对求出的和中各位数字的 3 次方求和,如此一直继续下去,判断最后能否得到一个不再变化的固定值。如能得到一个固定值,就告诉我这个固定值;如果不能,则告诉我提示信息"error"。注意了,在求解过程中,若某一次求和得到的值超过 3 位数,则取该数的低三位继续往下运算...... 例如:对于三位数 111,则第一次计算应该是 1×1×1 + 1×1×1 + 1×1×1=3。第二次应是 0×0×0 + 0×0×0 + 3×3×3=27。第三次应是 0×0×0 + 2×2×2 + 7×7×7=351。第四次应是 3×3×3 + 5×5×5 + 1×1×1=153。第五次应是 1×1×1 + 5×5×5 + 3×3×3=153,与第四次结果重合,不再计算,输出固定值 153。"亲爱的小朋友们,你也来和卡卡西一起锻炼一下思维吧。


输入

一行,一个三位数 N(100≤N≤999)。


输出

一行,如能得到一个固定值,则输出这个固定值;如 10000 次变化还没找到,就输出提示信息"error"。


样例数据
输入
复制代码
样例输入1 
111 

样例输入2 
253

输出
复制代码
样例输出1 
153 

样例输出2 
error

数据范围限制

40%的数据 100≤N≤500。 100%的数据 100≤N≤999。


代码
cpp 复制代码
#include<bits/stdc++.h>
using namespace std;
int main()
{
	int n,sum=0,ans;
	cin>>n;
	sum=ans=n;
	for(int i=1;i<=10000;i++)//控制循环次数,以免死循环
	{
		int a=ans/100%10;//百位(记得%10)
		int b=ans%100/10;//十位
		int c=ans%10;//个位
		ans=a*a*a+b*b*b+c*c*c;//更新ans
		if(sum==ans)//如果和sum相同
		{
			cout<<ans;//输出
			return 0;//并结束程序
		}
		else sum=ans;//传给sum
	}
	cout<<"error";//否则输出error
	return 0;
}
相关推荐
旧梦吟12 小时前
脚本网页 推理游戏
算法·css3·html5·web app
语落心生12 小时前
海量数据集的AI自动化预测打标 -- 放电时序特征
算法
CodeByV12 小时前
【双指针】复写零
数据结构·算法
程序员小范12 小时前
8年NLP算法工程师郭志才:Ai正在模糊内容的产权边界。
人工智能·算法·自然语言处理
练习时长一年12 小时前
LeetCode热题(路径总和 III)
数据结构·算法
野蛮人6号12 小时前
力扣热题100道前84道,内容和力扣官方稍有不同,记录了本人的一些独特的解法
java·算法·leetcode·职场和发展
v***446712 小时前
【语义分割】12个主流算法架构介绍、数据集推荐、总结、挑战和未来发展
算法·架构
roman_日积跬步-终至千里12 小时前
【模式识别与机器学习(6)】主要算法与技术(下篇:高级模型与集成方法)之进化计算(Evolutionary Computation)
人工智能·算法·机器学习
玖剹12 小时前
floodfill算法题目(二)
c语言·c++·算法·leetcode·深度优先·dfs·深度优先遍历
surtr112 小时前
区间查询mex异或gcd (焰与霜的共鸣,可持久化线段树+思维)
数据结构·c++·算法·数学建模·stl·动态规划