ამოხსნების სტატუსი

ამ გვერდზე თქვენ იხილავთ გაგზავნილი ამოხსნების სტატუსს.


გაგზავნის თარიღი: 10.09.2021 23:33:42

ამოცანა: რიცხვებით თამაში

მომხმარებელი: MASTI

ვერდიქტი: ნაწილობრივი ამოხსნა

შეფასება: 90.0 ქულა







#include <bits/stdc++.h>
using namespace std;
int n;
set<int> s;
map<int,int> m;
void rec(int a)
{
  int an1=1,an2=0,k=a;
  while(k!=0)
  {
    an1*=k%10;
    k/=10;
  }
  k=a;
  while(k!=0)
  {
    int o=k%10;
    o*=o;
    an2+=o;
    k/=10;
  }
  
  if(an1>=99)
  {
    an1=an1%100;
  }
  
  if(an2>=99)
  {
    an2=an2%100;
  }
  s.insert(an1);
  s.insert(an2);
  m[an1]++;
  m[an2]++;
  if(an1>9 && m[an1]==1)
  {
    rec(an1);
  }
  if(an2>9 && m[an2]==1)
  {
    rec(an2);
  }
}
int main() 
{
  cin>>n;
  s.insert(n);
  m[n]++;
  rec(n);
  cout<<s.size();
}

ტესტები

შემავალი მონაცემები
13
გამომავალი მონაცემები
5
თქვენი პასუხი
5
ჩეკერის პასუხი
YES
შემავალი მონაცემები
14
გამომავალი მონაცემები
35
თქვენი პასუხი
35
ჩეკერის პასუხი
YES
შემავალი მონაცემები
10
გამომავალი მონაცემები
3
თქვენი პასუხი
3
ჩეკერის პასუხი
YES
შემავალი მონაცემები
99
გამომავალი მონაცემები
38
თქვენი პასუხი
38
ჩეკერის პასუხი
YES
შემავალი მონაცემები
68
გამომავალი მონაცემები
44
თქვენი პასუხი
44
ჩეკერის პასუხი
YES
შემავალი მონაცემები
39
გამომავალი მონაცემები
39
თქვენი პასუხი
35
ჩეკერის პასუხი
NO
შემავალი მონაცემები
88
გამომავალი მონაცემები
46
თქვენი პასუხი
46
ჩეკერის პასუხი
YES
შემავალი მონაცემები
43
გამომავალი მონაცემები
36
თქვენი პასუხი
36
ჩეკერის პასუხი
YES
შემავალი მონაცემები
75
გამომავალი მონაცემები
48
თქვენი პასუხი
48
ჩეკერის პასუხი
YES
შემავალი მონაცემები
83
გამომავალი მონაცემები
38
თქვენი პასუხი
38
ჩეკერის პასუხი
YES