222的222次方的个十百位数字之和。C++程序编写。并说明计算原理。或者解释下边程序

#include <iostream>

using namespace std;

int main()

{

int i,n=1;

for(i=1; i<=222; i++)

{                                 //第一回,求222  ,不用舍去,

n=n*222;                      //第二回,求222*222,只要后面三位与22再乘

n=n%1000;

}

cout<<"个位+十位+百位="<<n%10 + n/10%10 +n/100<<endl;

return 0;

}


NOBLE_PRINCE
浏览 1680回答 1
1回答

tanhouyusheng

解释一下下边的程序吧,要求个位十位百位上的数字的和,所以只要知道这三位的值就可以了,然而222的222次方肯定是一个很大的数,然而我们并不关心她多大,我们只要知道这三位上的数就可以了,每一次的相乘,取出这三位的结果,再与222相乘对这三位是没有影响的。
打开App,查看更多内容
随时随地看视频慕课网APP