杭电OJ 1013 数字根源

题目描述:

解决:打表找规律

AC通过代码:

AC01:

//万能头 
#include<bits/stdc++.h>
using namespace std; 
#define LL long long 

int dp[10]; 
LL f(string s){
    int sum=0;
    for(int i=0;i<s.length();i++){
        sum+=s[i]-'0';
    }
//    cout<<sum;
    return sum;
}

int main()
{
//    f("999999999999999999999999999999");
    dp[0]=9;
    for(int i=1;i<10;i++){
        if(i<=9){
            dp[i]=i;
        }
    }
    string n; 
    cin>>n;
    while(n!="0"){
            cout<<dp[f(n)%9]<<endl;
            cin>>n;
    }

    return 0;
}

AC02:

//万能头 
#include<bits/stdc++.h>
using namespace std; 
#define LL long long 

int dp[10]; 
LL f(string s){
    int sum=0;
    for(int i=0;i<s.length();i++){
        sum+=s[i]-'0';
    }
    return sum;
}

int main()
{

    string n; 
    cin>>n;
    while(n!="0"){
            cout<<(f(n)-1)%9+1<<endl;
            cin>>n;
    }

    return 0;
}

猜你喜欢

转载自blog.csdn.net/qq_41971768/article/details/89460397
今日推荐