Digital Roots(九余数定理)
原题地址
很好的一道九余数题。
首先,没告诉你数据范围---->你必须要用字符串来解决
其次,题中隐含了当数字根为9时要输出9,所以要特判一下
代码附上:
#include <vector>
#include<stdio.h>
#include<string.h>
#include <cstring>
#include <list>
#include <map>
#include <set>
#include <deque>
#include <stack>
#include <bitset>
#include <algorithm>
#include <functional>
#include <iostream>
#include <iomanip>
#include <cstdio>
#include <cmath>
#include <set>
#include<cstring>
#define ll long long
#define MODD 1000000007
#define pii pair<int,int>
#include<stdio.h>
#include<string.h>
using namespace std;
int main(){
char n[100000];
while(cin >>n){
int len = strlen(n);
ll k =0,sum=0;
if(len==1&&n[0]=='0')break;
for(int i=0;i<len;i++){
k = n[i]-'0';
sum+=k%9;
}
if(sum==0)cout<<9<<endl;
else cout<<sum%9<<endl;
}
}