Pagini recente » Cod sursa (job #867330) | Cod sursa (job #2028929) | Cod sursa (job #2833197) | Cod sursa (job #1644228) | Cod sursa (job #1757328)
#include <stdio.h>
int s ;
FILE *fin, *fout ;
int citire () {
char last_cf, cf, last_cf2 ;
fscanf (fin, "%c", &cf ) ;
last_cf = cf ;
fscanf (fin, "%c", &cf ) ;
last_cf2 = last_cf ;
last_cf = cf ;
if (last_cf == '\n' ) {
last_cf = '0' ;
return (int) ( (last_cf - '0' ) + ( (last_cf2 - '0' ) ) ) ;
}
while (cf != '\n' ) {
last_cf = cf ;
fscanf (fin, "%c", &cf ) ;
last_cf2 = last_cf ;
}
return (int) ( (last_cf - '0' ) + ( (last_cf2 - '0' ) * 10 ) ) ;
}
int main() {
fin = fopen ("cifra.in", "r" ) ;
fout = fopen ("cifra.out", "w" ) ;
int n, i, elem ;
fscanf (fin, "%d\n", &n ) ; /// Citim numarul de elemente
for (i = 0 ; i < n ; i++ ) {
elem = citire() ;
switch (elem % 4 ) { /// Oricare ar fi ultima cifra ele se repeta cel putin din 4 in 4
case 0 : { s += ( elem * elem * elem * elem ) % 10 ; break ; }
case 1 : { s += elem % 10 ; break ; }
case 2 : { s += ( elem * elem ) % 10 ; break ;}
case 3 : { s += ( elem * elem * elem ) % 10 ; break ; }
}
fprintf (fout, "%d\n", s % 10 ) ; /// Afisam suma actuala
}
fclose (fin) ;
fclose (fout) ;
return 0;
}