Pagini recente » Cod sursa (job #489154) | Cod sursa (job #328675) | Cod sursa (job #2260895) | Cod sursa (job #2688938) | Cod sursa (job #138104)
Cod sursa(job #138104)
# include <iostream>
# include <fstream>
# include <vector>
# include <set>
# include <algorithm>
using namespace std;
int
main () {
int n ; // 1 <= n <= 1.000.000
ifstream sin ( "fractii.in" ) ;
sin >> n ;
sin . close ( ) ;
vector < int > s ;
s . resize ( 1 + n ) ;
int i , j , k ;
for ( i = 1 ; i <= n ; ++ i ) {
s [ i ] = i ;
}
i = 2 ;
while ( i <= n ) {
k = i - 1 ;
for ( j = i ; j <= n ; j += i ) {
s [ j ] = s [ j ] / i ;
s [ j ] = s [ j ] * k ;
}
++ i ;
while ( ( i <= n ) && ( i != s [ i ] ) ) {
++ i ;
}
}
long long int ans = s [ 1 ] ;
for ( i = 2 ; i <= n ; i ++ ) {
ans += 2 * s [ i ] ;
}
ofstream sout ( "fractii.out" ) ;
sout << ans << endl ;
sout . close ( ) ;
return 0 ;
}