13A - Numbers - CodeForces Solution


implementation math *1000

Please click on ads to support us..

Python Code:

import sys
import math
 
 
from decimal import *
 
 
 
  def prime_generator(nr_elemente_prime):

 vector_prime=[-1]*nr_elemente_prime
 vector_rasp=[0]*nr_elemente_prime
 
 vector_prime[1]=1
 
 vector_rasp[1]=1
 contor=2

 for i in range(2,nr_elemente_prime):
  if vector_prime[i]==-1:
   vector_prime[i]=1
   vector_rasp[contor]=i
   contor=contor+1
  for j in range(i+i,nr_elemente_prime,i):
    if vector_prime[j]==-1:
     vector_prime[j]=i
      
   

 set_prime=set(vector_rasp)
 sume_disponibile=set()

 for i in range(3,nr_elemente_prime):
  sume_disponibile.add(vector_rasp[i-1]+vector_rasp[i])



rasp_final=""  

def transformare_baza(numar,baza):
 
 transformare=""
 while numar>=baza:
  rest=numar%baza
  numar=numar//baza
  transformare+=str(rest)
 
 transformare+=str(numar)
 noua_baza=transformare[::-1]
 return noua_baza
 
 
def bitwise_xor(a,b):
 stringul_1=transformare_baza(a,2)
 stringul_2=transformare_baza(b,2)
 
 lungime=max(len(stringul_1), len(stringul_2))
 raspunsul=0
  
 str_answ=[0]*lungime
 
  
 for i in range(0,lungime):
   j=lungime-1-i
  if len(stringul_1)>i and len(stringul_2)>i:
   if stringul_1[len(stringul_1)-1-i]!= stringul_2[len(stringul_2)-1-i]:
    raspunsul+=2**(i)
    str_answ[i]='1'
  elif len(stringul_1)>i and stringul_1[len(stringul_1)-1-i]=='1':
   raspunsul+=2**(i)
   str_answ[i]='1'
  elif len(stringul_2)>i and stringul_2[len(stringul_2)-1-i]=='1':
   raspunsul+=2**(i)
   str_answ[i]='1'
   
  
 return raspunsul


def bitwise_or(a,b):
 stringul_1=transformare_baza(a,2)
 stringul_2=transformare_baza(b,2)
 
 lungime=max(len(stringul_1), len(stringul_2))
 raspunsul=0
  
 str_answ=[0]*lungime
 
  
 for i in range(0,lungime):
   j=lungime-1-i
  if len(stringul_1)>i and len(stringul_2)>i:
   if stringul_1[len(stringul_1)-1-i]=='1' or  stringul_2[len(stringul_2)-1-i]=='1':
    raspunsul+=2**(i)
    str_answ[i]='1'
  elif len(stringul_1)>i and stringul_1[len(stringul_1)-1-i]=='1':
   raspunsul+=2**(i)
   str_answ[i]='1'
  elif len(stringul_2)>i and stringul_2[len(stringul_2)-1-i]=='1':
   raspunsul+=2**(i)
   str_answ[i]='1'
   
  
 return raspunsul
 
 
def cmmdc(x,y):
 maximul=max(x,y)
 minimul=min(x,y)
 while maximul!=minimul and minimul!=0:
  
  dif=maximul-minimul
  raport=dif//minimul
 
  
  
  maximul-=minimul*(raport+1)
  
  a=max(minimul,maximul)
  b=min(minimul, maximul)
  
  maximul=a
  minimul=b
 
 return (maximul)
 
 
dict = {}  
 alfabet = {'a': 1, 'b': 2,'c': 3,'d': 4,'e': 5,'f': 6,'g': 7,'h': 8,'i': 9,'j': 10,'k': 11,'l': 12,'m': 13,'n': 14,'o': 15,'p': 16,'q': 17,'r': 18,'s': 19,'t': 20,'u': 21,'v': 22,'w': 23,'x': 24,'y': 25,'z': 26}
 
contor=0
k=1
while k>0:
 
 n=int(input())

      
 
 suma=0
 for i in range(2,n):
  numar=n
  while numar>=i:
   rest=numar%i
   numar=numar//i
   suma+=rest

  suma+=numar
 
 numarator=suma
 numitor=n-2
 
  
 while cmmdc(numarator,numitor)>1:
  retur=cmmdc(numarator,numitor)
  numarator=numarator/retur
  numitor=numitor/retur
  
  
 print(str(int(numarator))+"/"+str(int(numitor))) 
  

 
 k-=1

C++ Code:

//@author aayush_nb
#include <bits/stdc++.h>
using namespace std;

int main(){
  int a; cin>>a; int sum=0;
  for(int i=2;i<=a-1;i++){
    int d=a;
    while(d>0){
      sum+=d%i;
      d/=i;
    }
  } int n=a-2;
  int d=__gcd(sum,n);
  sum/=d; n/=d;
  cout<<sum<<"/"<<n<<endl;

 

  
  
}


Comments

Submit
0 Comments
More Questions

1051. Height Checker
695. Max Area of Island
402. Remove K Digits
97. Interleaving String
543. Diameter of Binary Tree
124. Binary Tree Maximum Path Sum
1465. Maximum Area of a Piece of Cake After Horizontal and Vertical Cuts
501A - Contest
160A- Twins
752. Open the Lock
1535A - Fair Playoff
1538F - Interesting Function
1920. Build Array from Permutation
494. Target Sum
797. All Paths From Source to Target
1547B - Alphabetical Strings
1550A - Find The Array
118B - Present from Lena
27A - Next Test
785. Is Graph Bipartite
90. Subsets II
1560A - Dislike of Threes
36. Valid Sudoku
557. Reverse Words in a String III
566. Reshape the Matrix
167. Two Sum II - Input array is sorted
387. First Unique Character in a String
383. Ransom Note
242. Valid Anagram
141. Linked List Cycle