Cod sursa(job #1262686)

Utilizator EmplopiStefan Nitu Emplopi Data 13 noiembrie 2014 14:21:26
Problema Suma si numarul divizorilor Scor 10
Compilator c Status done
Runda Arhiva educationala Marime 0.69 kb
#include <stdio.h>
#include <stdlib.h>

int s;

int nrdiv(int n){
    int d, nr=2;
    s=1+n;
    for(d=2;d*d<=n;d++){
        if(n%d==0){
            if(d*d==n){
                nr++;
                s+=d;
            }
            else{
                nr+=2;
                s+=d+(n/d);
            }
        }
    }

    return nr;
}

int main(){
    FILE *fin, *fout;
    int t, i, nr, nrr;
    fin=fopen("ssnd.in", "r");
    fout=fopen("ssnd.out", "w");
    fscanf(fin, "%d", &t);
    for(i=0;i<t;i++){
        fscanf(fin, "%d", &nr);
        nrr=nrdiv(nr);
        fprintf(fout, "%d %d\n", nrr, s);
    }
    fclose(fin);
    fclose(fout);

    return 0;
}