Thứ Hai, 16 tháng 5, 2022

TIMSO1259 C++


#include <bits/stdc++.h>
using namespace std;
string s;
long long x, n;
map<long long,int> d;
long long tinh(long long a)
{
    long long s=0,p=1;
    while(a>0)
    {
        int k=a%10;
        a=a/10;
        if(k!=0)
        {
            s=s+k;
            p=p*k;
        }
    }
    return (s+p);
}
void giai()
{
    int i;
    for(i=2;i<=n;i++)
    {
        x=tinh(x);
        if(d[x]>0) break;    //so x[i] da tung xuat hien
        else
            d[x]=i;
    }
    n=(n-d[x])%(i-d[x]);    //bo qua cac doan lap, tinh so luong
    for(i=1;i<=n;i++)        //so hang con lai
    {
        x=tinh(x);
    }
    cout<<x;
}
 
 
int main()
{
    ios_base::sync_with_stdio(0);
    cin.tie(0);cout.tie(0);
    freopen("timso.inp","r",stdin);
    freopen("timso.out","w",stdout);
    cin>>x>>n;
    giai();
}

Không có nhận xét nào:

Đăng nhận xét

Lưu ý: Chỉ thành viên của blog này mới được đăng nhận xét.