Esempio n. 1
13
int main() {
        v[0] = 1;
        v[1] = 1;
        long long i, j;

        for (i = 2; i * i < 1000; i++) {
                if (!v[i]) {
                        for (j = i * i; j < 1000; j += i) {
                                v[j] = 1;
                        }
                }
        }

        int index = 0;
        for (i = 2; i < 1000; i++) {
                if (!v[i]) {
                        primes[index++] = i;
                }
        }
    int s;
    int cases=1;
    while(scanf("%d",&s)==1 && s)
    {
        int flag=0;
        for(i=s;i>=0;i--)
        {
            long long returnvalue=sumDiv(i);
            if(returnvalue==s)
            {
                flag=1;
                printf("Case %d: %lld",cases,i);
                break;
            }
        }
        if(!flag)
        {
            printf("Case %d: -1",cases);
        }
        printf("\n");
    }
    return 0;
}
int main(int argc, char **argv)
{
    long int res = sumDiv(3) + sumDiv(5) - sumDiv(15);
    printf("Soma: %ld\n", res);

    return 0;
}
Esempio n. 3
0
int main( void )
{
    unsigned long long a, b;
    unsigned long long s;

    a = 1;
    s = 0;

    while( a < 10000 )
    {
        b = sumDiv( a );

        if( sumDiv( b ) == a && b > a )
            s += ( a + b );

        a += 1;
    }
    
    printf( "Answer: %llu\n", s );

    return 0;
}
Esempio n. 4
0
/*For example, the proper divisors of 220 are 1, 2, 4, 5, 10, 11, 20, 22, 44, 55 and 110; 
therefore d(220) = 284. The proper divisors of 284 are 1, 2, 4, 71 and 142; so d(284) = 220.
Evaluate the sum of all the amicable numbers under 10000.*/
int problem21(){
	int aiDivisorSum[N];
	for(int i=0;i<N;i++){
		aiDivisorSum[i] = sumDiv(i);
	}
	int sum = 0;
	for(int i=0;i<N;i++){
		if(aiDivisorSum[i] < N && aiDivisorSum[aiDivisorSum[i]] < N)
			if(aiDivisorSum[aiDivisorSum[i]] == i)
				if(aiDivisorSum[i] != i)
					sum += i;
	}
	return sum;
}