计算任一输入的正整数的各位数字之和,并分析算法的时间复杂度
算法如下,时间复杂度为O(1)?
#include <iostream>
using namespace std;
void sum(int n){
int m;//暂存各位数
int res=0;//结果
cout<<"res=";
while(n){
m=n%10;//当前个位数
n=n/10;//除个数位之外的数
//输出样式
if(n==0)
cout<<m;
else
cout<<m<<"+";
res+=m;//求和
}
cout<<"="<<res<<endl;
}
int main() {
int n;
cout<<"n:";
cin>>n;
cout<<"n的各位数之和";
sum(n);
return 0;
}