山东科技大学OJ题库
Problem 1153
# include <stdio.h>
int get_array ( int a[ ] )
{
int n, i;
scanf ( "%d" , & n) ;
for ( i= 0 ; i< n; i++ )
scanf ( "%d" , & a[ i] ) ;
return n;
}
int put_array ( int a[ ] , int n)
{
int i;
if ( n!= 0 )
{
printf ( "%d" , a[ 0 ] ) ;
for ( i= 1 ; i< n; i++ )
printf ( " %d" , a[ i] ) ;
}
printf ( "\n" ) ;
}
int reverse_array ( int a[ ] , int n)
{
int i, t;
for ( i= 0 ; i<= ( n- 1 ) / 2 ; i++ )
{
t= a[ i] ;
a[ i] = a[ n- 1 - i] ;
a[ n- 1 - i] = t;
}
}
# define MAX_SIZE 1005
int main ( )
{
int cases, i;
int array[ MAX_SIZE] , size;
scanf ( "%d" , & cases) ;
for ( i = 1 ; i <= cases; i++ )
{
size = get_array ( array) ;
reverse_array ( array, size) ;
printf ( "case %d:" , i) ;
put_array ( array, size) ;
}
return 0 ;
}
Problem 1155
# include <stdio.h>
int get_array ( int a[ ] , int n)
{
int i;
for ( i= 0 ; i< n; i++ )
scanf ( "%d" , & a[ i] ) ;
return n;
}
int min_index ( int a[ ] , int n)
{
int i, min, k= 0 ;
min= a[ 0 ] ;
for ( i= 1 ; i< n; i++ )
{
if ( a[ i] < min)
{
min= a[ i] ;
k= i;
}
}
return k;
}
# define MAX_SIZE 1001
int main ( )
{
int array[ MAX_SIZE] , size, index;
scanf ( "%d" , & size) ;
get_array ( array, size) ;
index = min_index ( array, size) ;
printf ( "minimum number is %d, whose position is %d." , array[ index] , index) ;
return 0 ;
}
Problem 1158
# include <stdio.h>
# include <stdlib.h>
int main ( )
{
int a, b;
scanf ( "%d %d" , & a, & b) ;
printf ( "Octal Decimal Hexadecimal\n" ) ;
printf ( "%-6o%-8d%x\n" , a, a, a) ;
printf ( "%-6o%-8d%x\n" , b, b, b) ;
return 0 ;
}
Problem 1162
# include <stdio.h>
int main ( )
{
double a, b;
scanf ( "(%lf, %lf)" , & a, & b) ;
if ( a== 0 && b== 0 )
printf ( "(%.1lf, %.1lf) is origin" , a, b) ;
if ( a== 0 && b!= 0 )
printf ( "(%.1lf, %.1lf) is on the y axis" , a, b) ;
if ( b== 0 && a!= 0 )
printf ( "(%.1lf, %.1lf) is on the x axis" , a, b) ;
if ( a> 0 && b> 0 )
printf ( "(%.1lf, %.1lf) is in quadrand I" , a, b) ;
if ( a< 0 && b> 0 )
printf ( "(%.1lf, %.1lf) is in quadrand II" , a, b) ;
if ( a< 0 && b< 0 )
printf ( "(%.1lf, %.1lf) is in quadrand III" , a, b) ;
if ( a> 0 && b< 0 )
printf ( "(%.1lf, %.1lf) is in quadrand IV" , a, b) ;
return 0 ;
}
Problem 1169 统计单词数
# include <string.h>
# include <stdlib.h>
# include <stdio.h>
# include <malloc.h>
int main ( )
{
char s[ 1002 ] ;
while ( gets ( s) != NULL )
{
int len= strlen ( s) ;
s[ len] = '.' ;
s[ len+ 1 ] = '\0' ;
int count= 0 ;
for ( int i= 0 ; i<= len; i++ )
{
int sign= 0 ;
while ( ( s[ i] >= 'a' && s[ i] <= 'z' ) || ( s[ i] >= 'A' && s[ i] <= 'Z' ) )
{
i++ ;
sign= 1 ;
}
if ( sign== 1 ) count++ ;
}
printf ( "%d\n" , count) ;
}
return 0 ;
}
Problem 1172
# include <stdio.h>
# include <stdlib.h>
# include <string.h>
int main ( )
{
char a[ 100 ] ;
char b[ 100 ] ;
while ( scanf ( "%s" , a) != EOF )
{
scanf ( "%s" , b) ;
int len1= strlen ( a) ;
int len2= strlen ( b) ;
int cnt= 0 ;
int j= len2- 1 ;
int i= len1- 1 ;
int len;
if ( len1> len2)
len= len1;
else len= len2;
while ( j>= 0 || i>= 0 )
{
if ( i< 0 )
{
if ( b[ j] - '0' > 9 )
{
cnt++ ;
b[ j- 1 ] += 1 ;
}
}
else if ( j< 0 )
{
if ( a[ i] - '0' > 9 )
{
cnt++ ;
a[ i- 1 ] += 1 ;
}
}
else
{
if ( a[ i] + b[ j] - '0' - '0' > 9 )
{
cnt++ ;
if ( len== len1)
a[ i- 1 ] += 1 ;
else if ( len== len2)
b[ j- 1 ] += 1 ;
}
}
i-- ;
j-- ;
}
printf ( "%d\n" , cnt) ;
}
}
Problem 1176
# include <stdio.h>
int main ( )
{
int M, N, i, j, a;
scanf ( "%d\n" , & M) ;
for ( i= 0 ; i< M; i++ )
{
scanf ( "%d" , & N) ;
int b[ N] ;
for ( j= 0 ; j< N; j++ )
{
scanf ( "%d" , & a) ;
b[ j] = a;
}
int c[ 100000 ] , k= 1 ;
for ( j= 0 ; j< 100000 ; j++ )
{
c[ j] = 0 ;
}
c[ 0 ] = b[ 0 ] ;
for ( j= 1 ; j< N; j++ )
{
if ( b[ j] == b[ j- 1 ] )
{
continue ;
}
if ( b[ j] > b[ j- 1 ] )
{
c[ k] = b[ j] ;
k++ ;
}
}
printf ( "%d" , c[ 0 ] ) ;
for ( j= 1 ; j< k; j++ )
{
printf ( " %d" , c[ j] ) ;
}
printf ( "\n" ) ;
}
return 0 ;
}
Problem 1179
# include <stdio.h>
# define MAX_SIZE 500001
void get_prime_table ( int is_not_prime[ ] )
{
int num, i;
is_not_prime[ 0 ] = is_not_prime[ 1 ] = 1 ;
is_not_prime[ 2 ] = 0 ;
for ( num = 2 ; num <= MAX_SIZE / num; num ++ )
{
if ( is_not_prime[ num] == 0 )
for ( i = num * 2 ; i < MAX_SIZE; i += num) is_not_prime[ i] = 1 ;
}
}
int main ( )
{
int i, begin, end, flag = 1 , flag1 = 0 ;
int is_not_prime[ MAX_SIZE] = { 0 } ;
get_prime_table ( is_not_prime) ;
while ( scanf ( "%d %d" , & begin, & end) != EOF )
{
if ( flag1) printf ( "\n" ) ;
for ( i = begin; i <= end; i ++ )
{
if ( is_not_prime[ i] == 0 )
{
printf ( "%d\n" , i) ;
flag = 0 ;
}
}
if ( flag) printf ( "\n" ) ;
flag = 1 ;
flag1 = 1 ;
}
return 0 ;
}
Problem 1180
# include <stdio.h>
# define MAX_SIZE 10000
struct date
{
int month, day, year;
} ;
int get_date_array ( struct date d[ ] )
{
int i= 0 ;
while ( scanf ( "%d/%d/%d" , & ( d[ i] . month) , & ( d[ i] . day) , & ( d[ i] . year) ) != EOF )
{
i++ ;
}
return i;
}
int sort_date_array ( struct date d[ ] , int n)
{
int i, j, min;
struct date t;
for ( i= 0 ; i< n- 1 ; i++ )
{
min= i;
for ( j= i+ 1 ; j< n; j++ )
if ( d[ j] . year< d[ min] . year|| d[ j] . year== d[ min] . year&& d[ j] . month< d[ min] . month|| d[ j] . year== d[ min] . year&& d[ j] . month== d[ min] . month&& d[ j] . day< d[ min] . day)
min= j;
if ( min!= i)
{
t= d[ i] ;
d[ i] = d[ min] ;
d[ min] = t;
}
}
}
int main ( )
{
struct date d_arr[ MAX_SIZE] ;
int cases = 0 , i, j;
cases = get_date_array ( d_arr) ;
sort_date_array ( d_arr, cases) ;
for ( i = 0 ; i < cases; i++ )
printf ( "%02d/%02d/%d\n" , d_arr[ i] . month, d_arr[ i] . day, d_arr[ i] . year) ;
return 0 ;
}
Problem 1187
# include <stdio.h>
# define LEN 10000
int TransStr ( char s[ ] )
{
int k= 0 , i= 0 ;
while ( s[ k] != '\0' )
{
i+= s[ k] ;
k++ ;
}
if ( i% 3 == 0 ) return 1 ;
else return 0 ;
}
int main ( )
{
int m, n;
scanf ( "%d" , & m) ;
getchar ( ) ;
char s[ LEN] ;
for ( int i= 0 ; i< m; i++ )
{
gets ( s) ;
n= TransStr ( s) ;
n? printf ( "Yes" ) : printf ( "No" ) ;
if ( i!= m- 1 ) putchar ( '\n' ) ;
}
return 0 ;
}
Problem 1201
# include <stdio.h>
int is_swapped ( int * a, int * b)
{
int t;
if ( * a<= * b)
return 0 ;
else
t= * a;
* a= * b;
* b= t;
return 1 ;
}
int main ( )
{
int a, b;
scanf ( "%d%d" , & a, & b) ;
if ( is_swapped ( & a, & b) )
printf ( "%d %d YES" , a, b) ;
else
printf ( "%d %d NO" , a, b) ;
}
Problem 1202
# include <stdio.h>
int is_swapped ( int * a, int * b)
{
int t;
if ( * a<= * b)
return 0 ;
else
return 1 ;
}
int main ( )
{
int a, b;
scanf ( "%d%d" , & a, & b) ;
if ( is_swapped ( & a, & b) )
printf ( "%d %d YES" , b, a) ;
else
printf ( "%d %d NO" , a, b) ;
}
Problem 1207
# include <stdio.h>
# include <stdlib.h>
int main ( )
{
int a, b, c, m, sum= 0 , count= 1 ;
while ( scanf ( "%d" , & m) != EOF )
{
for ( int i= 100 ; i<= 999 ; i++ )
{
a= i% 10 ;
b= i/ 10 % 10 ;
c= i/ 100 ;
if ( a!= b&& a!= c&& b!= c)
{
if ( i% m== 0 )
{
sum+= i;
}
}
}
printf ( "case %d:%d" , count, sum) ;
printf ( "\n" ) ;
sum= 0 ;
count++ ;
}
return 0 ;
}
Problem 1208
# include <stdio.h>
# include <stdlib.h>
# include <string.h>
void swap_any ( void * s, void * t, unsigned n)
{
void * p;
p= malloc ( n+ 10 ) ;
memcpy ( p, s, n) ;
memcpy ( s, t, n) ;
memcpy ( t, p, n) ;
}
int main ( )
{
int a, b;
double x, y;
char c, d;
char s[ 1001 ] , t[ 1001 ] ;
gets ( s) ;
gets ( t) ;
swap_any ( s, t, sizeof ( s) ) ;
printf ( "%s %s\n" , s, t) ;
c = getchar ( ) ;
getchar ( ) ;
d = getchar ( ) ;
getchar ( ) ;
swap_any ( & c, & d, sizeof ( char ) ) ;
printf ( "%c %c\n" , c, d) ;
scanf ( "%d %d" , & a, & b) ;
swap_any ( & a, & b, sizeof ( int ) ) ;
printf ( "%d %d\n" , a, b) ;
scanf ( "%lf %lf" , & x, & y) ;
swap_any ( & x, & y, sizeof ( double ) ) ;
printf ( "%lg %lg\n" , x, y) ;
}
Problem 1213
# include <stdio.h>
# define MAX_STR_LEN 202
char * str_cat ( char * t, char * s)
{
int i;
for ( i= 0 ; 1 ; i++ )
{
if ( t[ i] == '\0' )
break ;
}
int p;
for ( p= 0 ; s[ p] != '\0' ; p++ )
{
t[ p+ i] = s[ p] ;
}
t[ p+ i] = '\0' ;
return t;
}
int main ( )
{
char s[ MAX_STR_LEN] , str[ MAX_STR_LEN] , * p;
while ( gets ( s) != NULL && gets ( str) != NULL )
{
p = str_cat ( str, s) ;
puts ( p) ;
puts ( str) ;
}
return 0 ;
}
Problem 1214
# include <stdio.h>
# define MAX_STR_LEN 200
char * str_cat ( char * str, char * s, int n)
{
int i, x, j;
for ( i= 0 ; str[ i] != '\0' ; i++ ) ;
for ( j= 0 ; s[ j] != '\0' ; j++ ) ;
if ( n> j)
n= j;
for ( x= 0 ; x< n; x++ , i++ )
{
str[ i] = s[ x] ;
}
str[ i] = '\0' ;
return str;
}
int main ( )
{
int n;
char s[ MAX_STR_LEN] , str[ MAX_STR_LEN] , * p;
while ( scanf ( "%d" , & n) != EOF && getchar ( ) )
{
gets ( s) ;
gets ( str) ;
p = str_cat ( str, s, n) ;
puts ( p) ;
puts ( str) ;
}
return 0 ;
}
Problem 1215
# include <stdio.h>
# include <math.h>
# define MAX_STR_LEN 200
char * str_cpy ( char * t, char * s)
{
char * s1= t;
while ( ( * s1++ = * s++ ) != '\0' ) ;
return t;
}
int main ( )
{
char s[ MAX_STR_LEN] , str[ MAX_STR_LEN] , * p;
while ( gets ( s) != NULL )
{
p = str_cpy ( str, s) ;
puts ( p) ;
puts ( str) ;
}
return 0 ;
}
Problem 1216
# include <stdio.h>
# include <math.h>
# include <ctype.h>
# define MAX_STR_LEN 200
char * str_cpy ( char * t, char * s, int n)
{
int i= 0 , j;
while ( s[ i] != '0' )
{
i++ ;
}
if ( i< n- 1 )
{
i= 0 ;
while ( s[ i] != '\0' )
{
t[ i] = s[ i] ;
i++ ;
}
t[ i] = '\0' ;
}
else
{
for ( j= 0 ; j< n; j++ )
{
t[ j] = s[ j] ;
}
t[ j] = '\0' ;
}
return t;
}
int main ( )
{
int n;
char s[ MAX_STR_LEN] , str[ MAX_STR_LEN] , * p;
while ( scanf ( "%d" , & n) != EOF && getchar ( ) )
{
gets ( s) ;
p = str_cpy ( str, s, n) ;
puts ( p) ;
puts ( str) ;
}
return 0 ;
}
Problem 1219
# include <stdio.h>
int main ( )
{
double m, BMI, gao, zhong;
while ( scanf ( "%lf %lf" , & gao, & zhong) != EOF )
{
m= gao/ 100 ;
BMI= zhong/ ( m* m) ;
if ( BMI< 19 )
printf ( "%.2lf lower\n" , BMI) ;
else if ( BMI>= 19 && BMI< 25 )
printf ( "%.2lf health\n" , BMI) ;
else if ( BMI>= 25 && BMI< 30 )
printf ( "%.2lf heavy\n" , BMI) ;
else if ( BMI>= 30 && BMI< 40 )
printf ( "%.2lf super heavy\n" , BMI) ;
else
printf ( "%.2lf extra heavy\n" , BMI) ;
}
return 0 ;
}
Problem 1224
# include <stdio.h>
int maxValue ( int a, int b, int c)
{
int max= a;
if ( b> a)
{
max= b;
if ( c> max)
max= c;
}
else
if ( c> max)
max= c;
return max;
}
int main ( )
{
int x, y, z;
scanf ( "%d %d %d" , & x, & y, & z) ;
printf ( "%d" , maxValue ( x, y, z) ) ;
return 0 ;
}
Problem 1226
# include <stdio.h>
# include <string.h>
# include <stdlib.h>
# include <math.h>
int main ( )
{
int t= 1 ;
int a, b;
while ( scanf ( "%d%d" , & a, & b) != EOF )
{
printf ( "case %d:" , t) ;
int i, j, g= 0 ;
for ( i= a; i<= b; i++ )
for ( j= i+ 1 ; j<= b; j++ )
{
int c= sqrt ( i* i+ j* j) ;
if ( c<= b)
{
if ( c* c== i* i+ j* j)
{
if ( g!= 0 )
printf ( ";" ) ;
printf ( "%d,%d,%d" , i, j, c) ;
g++ ;
}
}
}
if ( g== 0 )
printf ( "No pythagorean triple" ) ;
printf ( "\n" ) ;
t++ ;
}
return 0 ;
}
Problem 1228
# include <stdio.h>
int gcd ( int a, int b)
{
int m;
if ( b== 0 )
{
m = a;
}
else if ( a== 0 )
{
m = b;
}
else
{
int result = a % b;
int x = a;
int y = b;
while ( result!= 0 )
{
x = y;
y = result;
result = x % y;
}
m = y;
}
return m;
}
int lcm ( int a, int b)
{
int n = 1 ;
int count = 1 ;
int max = a;
if ( a< b)
{
max = b;
}
if ( a== 0 || b== 0 )
{
n = 0 ;
}
else
{
while ( n% a!= 0 || n% b!= 0 )
{
n = count* max;
count++ ;
}
}
return n;
}
int main ( )
{
int a, b;
while ( scanf ( "%d %d" , & a, & b) != EOF )
printf ( "%d %d\n" , gcd ( a, b) , lcm ( a, b) ) ;
return 0 ;
}
Problem 1232
# include <stdio.h>
void getNumberOfSuperJumpSteps ( long long * jumpMethods)
{
int i;
jumpMethods[ 1 ] = 1 ;
for ( i = 2 ; i <= 50 ; i++ )
{
jumpMethods[ i] = 2 * jumpMethods[ i - 1 ] ;
}
}
int main ( )
{
int n;
long long jumpMethods[ 51 ] ;
getNumberOfSuperJumpSteps ( jumpMethods) ;
while ( EOF != scanf ( "%d" , & n) )
{
printf ( "%lld\n" , jumpMethods[ n] ) ;
}
return 0 ;
}
Problem 1233
# include <stdio.h>
# include <math.h>
int is_primer ( int num)
{
int i, k, x;
if ( num== 1 )
return 0 ;
k= 0 ;
x= sqrt ( num) ;
for ( i= 2 ; i<= x; i++ )
{
if ( num% i== 0 )
k++ ;
}
if ( k== 0 )
return 1 ;
if ( k> 0 )
return 0 ;
}
int main ( )
{
int num;
while ( scanf ( "%d" , & num) != EOF )
{
if ( is_primer ( num) )
puts ( "YES" ) ;
else
puts ( "NO" ) ;
}
return 0 ;
}
Problem 1234
# include <stdio.h>
# include <string.h>
# include <math.h>
# include <stdlib.h>
# define MAX_STR_LEN 110
char * revs ( char * s)
{
int n, i, j;
char a[ MAX_STR_LEN] ;
for ( i= 0 ; s[ i] != '\0' ; i++ )
{
a[ i] = s[ i] ;
}
i-- ;
for ( j= 0 ; i>= 0 ; i-- , j++ )
{
s[ i] = a[ j] ;
}
return s;
}
int main ( )
{
char s[ MAX_STR_LEN] ;
gets ( s) ;
revs ( s) ;
puts ( s) ;
return 0 ;
}
Problem 1235
# include <stdio.h>
# include <string.h>
# include <stdlib.h>
# include <ctype.h>
# define MAX_STR_LEN 120
char * str_rev ( char * t, char * s)
{
char a[ MAX_STR_LEN] ;
int i, j;
for ( i= 0 ; s[ i] != '\0' ; i++ )
a[ i] = s[ i] ;
i-- ;
for ( j= 0 ; i>= 0 ; i-- , j++ )
{
t[ j] = a[ i] ;
}
t[ j] = '\0' ;
return t;
}
int main ( )
{
char s[ MAX_STR_LEN] , str[ MAX_STR_LEN] , * p;
gets ( s) ;
p = str_rev ( str, s) ;
puts ( p) ;
puts ( str) ;
return 0 ;
}
Problem 1236
# include <stdio.h>
# include <string.h>
# include <math.h>
# include <stdlib.h>
int get_int_sum ( int * a, int * b)
{
scanf ( "%d %d" , a, b) ;
return * a+ * b;
}
int main ( )
{
int n, a, b, i;
scanf ( "%d" , & n) ;
for ( i = 1 ; i <= n; i++ )
{
printf ( "%d = " , get_int_sum ( & a, & b) ) ;
printf ( "%d + %d\n" , a, b) ;
}
return 0 ;
}
Problem 1238
# include <stdio.h>
int main ( )
{
double a, b, c, d;
scanf ( "%lf%lf%lf" , & a, & b, & c) ;
d= a* b* c;
printf ( "%g" , d) ;
return 0 ;
}
Problem 1240
# include <stdio.h>
int put_int_sum ( int a, int b)
{
if ( a== 0 && b== 0 )
return 0 ;
int s;
s= a+ b;
printf ( "%d\n" , s) ;
return s;
}
int main ( )
{
int a, b;
while ( scanf ( "%d%d" , & a, & b) )
if ( put_int_sum ( a, b) == 0 )
break ;
return 0 ;
}
Problem 1241
# include <stdio.h>
int compare ( int * min, int * mid, int * max)
{
int t;
if ( * min> * mid)
{
t = * min;
* min = * mid;
* mid = t;
}
if ( * min> * max)
{
t = * min;
* min = * max;
* max = t;
}
if ( * max< * mid)
{
t = * max;
* max = * mid;
* mid = t;
}
}
int main ( )
{
int a, b, c;
scanf ( "%d %d %d" , & a, & b, & c) ;
compare ( & a, & b, & c) ;
printf ( "%d %d %d" , a, b, c) ;
return 0 ;
}
Problem 1242
# include <stdio.h>
# include <string.h>
# include <stdlib.h>
# include <math.h>
int main ( )
{
char a[ 33 ] ;
long long int i, n, sum;
while ( scanf ( "%s" , a) != EOF )
{
sum= 0 ;
n= strlen ( a) ;
for ( i= n- 1 ; i>= 0 ; i-- )
sum+= ( a[ i] - '0' ) * ( ( long long int ) pow ( 2 , n- 1 - i) ) ;
printf ( "%lld\n" , sum) ;
}
}
Problem 1243
# include <stdio.h>
# include <string.h>
int main ( )
{
double x;
scanf ( "%lf" , & x) ;
if ( x>= 0 )
printf ( "+" ) ;
else
printf ( "-" ) ;
int y= ( int ) x;
if ( x< 0 )
y= - y;
printf ( " %d" , y) ;
if ( x< 0 )
x= - x;
double z= x- y;
if ( z< 0 )
z= - z;
printf ( " %lg" , z) ;
return 0 ;
}
Problem 1245
# include <stdio.h>
# include <stdlib.h>
# include <string.h>
# include <ctype.h>
void hanoi ( int n, int x, int y, int z) {
if ( n == 1 ) printf ( " plate %d : from %d to %d\n" , n, x, z) ;
else {
hanoi ( n- 1 , x, z, y) ;
printf ( " plate %d : from %d to %d\n" , n, x, z) ;
hanoi ( n- 1 , y, x, z) ;
}
}
int main ( ) {
int n = 0 ;
int a = 0 , b = 0 , c = 0 ;
int i = 0 ;
while ( scanf ( "%d %d %d %d" , & n, & a, & b, & c) != EOF ) {
i++ ;
printf ( "case %d :\n" , i) ;
hanoi ( n, a, b, c) ;
printf ( "\n" ) ;
}
}
Problem 1252
# include <stdio.h>
int main ( )
{
int a;
scanf ( "%d" , & a) ;
printf ( " a : %d\n--a : %d\n a-- : %d\n a++ : %d\n++a : %d" , a, a- 1 , a, a, a+ 1 ) ;
return 0 ;
}
Problem 1253
# include <stdio.h>
# include <stdlib.h>
# include <string.h>
int main ( )
{
char s[ 11 ] ;
int k, i;
scanf ( "%s %d" , & s, & k) ;
int len= strlen ( s) ;
if ( k> len)
printf ( "error" ) ;
else
printf ( "%c" , s[ k- 1 ] ) ;
return 0 ;
}
Problem 1271
# include <stdio.h>
# include <string.h>
# include <stdlib.h>
# include <math.h>
# include <ctype.h>
int digit_sum ( int num)
{
int a, sum= 0 ;
while ( num!= 0 )
{
a= num% 10 ;
num= num/ 10 ;
sum= sum+ a;
}
if ( sum>= 10 )
{
num= sum;
sum= digit_sum ( num) ;
}
return sum;
}
int main ( )
{
int n;
scanf ( "%d" , & n) ;
printf ( "%d" , digit_sum ( n) ) ;
return 0 ;
}
Problem 1272
# include <stdio.h>
int digits ( int n)
{
if ( n== 0 ) return 1 ;
if ( n< 0 ) n= - n;
int len= 0 ;
while ( n) {
len++ ;
n/= 10 ;
}
return len;
}
int main ( )
{
int num;
scanf ( "%d" , & num) ;
printf ( "%d\n" , digits ( num) ) ;
}
Problem 1276
# include <stdio.h>
# include <stdlib.h>
# include <math.h>
# include <string.h>
int x= 1 ;
int print_graphic ( int n)
{
int i, j;
if ( x== 1 )
x= n+ 1 ;
char a[ 100 ] ;
for ( j= 0 ; j<= x; j++ )
a[ j] = ' ' ;
a[ x] = '\0' ;
for ( i= 1 ; i<= ( n+ 1 ) / 2 ; i++ )
{
a[ i] = '*' ;
a[ x- i] = '*' ;
}
printf ( "%s\n" , & a[ 1 ] ) ;
if ( n== 1 )
return 1 ;
print_graphic ( n- 2 ) ;
printf ( "%s\n" , & a[ 1 ] ) ;
}
int main ( )
{
int num;
scanf ( "%d" , & num) ;
print_graphic ( num) ;
return 0 ;
}
Problem 1278
# include <stdlib.h>
# include <math.h>
# include <stdio.h>
int is_daffodil ( int n)
{
int a, b, c;
a= pow ( n% 10 , 3 ) ;
b= pow ( n/ 10 % 10 , 3 ) ;
c= n/ 100 ;
if ( ! c|| c> 9 ) return 0 ;
else c= pow ( n/ 100 , 3 ) ;
if ( a+ b+ c== n) return 1 ;
else return 0 ;
}
int main ( )
{
int n;
scanf ( "%d" , & n) ;
printf ( "%s" ,
( is_daffodil ( n) ? "Yes, it is a daffodil."
: "No, it is not a daffodil." )
) ;
return 0 ;
}
Problem 1286
# include <stdio.h>
# include <string.h>
# include <stdlib.h>
# define MAX_SIZE 101
int get_matrix ( int ma[ MAX_SIZE] [ MAX_SIZE] , int m, int n)
{
int i, j;
for ( i= 1 ; i<= m; i++ )
for ( j= 1 ; j<= n; j++ )
scanf ( "%d" , & ma[ i] [ j] ) ;
}
int put_matrix ( int ma[ MAX_SIZE] [ MAX_SIZE] , int m, int n)
{
int i, j;
for ( i= 1 ; i<= m; i++ )
{
for ( j= 1 ; j<= n; j++ )
{
if ( j== 1 )
printf ( "%d" , ma[ i] [ j] ) ;
else
printf ( " %d" , ma[ i] [ j] ) ;
}
printf ( "\n" ) ;
}
}
int mul_matrix ( int pr[ MAX_SIZE] [ MAX_SIZE] , int m1[ MAX_SIZE] [ MAX_SIZE] , int m2[ MAX_SIZE] [ MAX_SIZE] , int m, int n, int q)
{
int i, j, k, sum;
for ( i= 1 ; i<= m; i++ )
{
for ( k= 1 ; k<= q; k++ )
{
sum= 0 ;
for ( j= 1 ; j<= n; j++ )
sum+= m1[ i] [ j] * m2[ j] [ k] ;
pr[ i] [ k] = sum;
}
}
}
int main ( )
{
int m, n, q;
int product[ MAX_SIZE] [ MAX_SIZE] ;
int matrix1[ MAX_SIZE] [ MAX_SIZE] ;
int matrix2[ MAX_SIZE] [ MAX_SIZE] ;
scanf ( "%d%d%d" , & m, & n, & q) ;
get_matrix ( matrix1, m, n) ;
get_matrix ( matrix2, n, q) ;
mul_matrix ( product, matrix1, matrix2, m, n, q) ;
put_matrix ( product, m, q) ;
return 0 ;
}
Problem 1289
# include <stdio.h>
int is_vocals ( char c)
{
if ( c== 'a' || c== 'A' )
return 1 ;
else if ( c== 'e' || c== 'E' )
return 1 ;
else if ( c== 'i' || c== 'I' )
return 1 ;
else if ( c== 'o' || c== 'O' )
return 1 ;
else if ( c== 'u' || c== 'U' )
return 1 ;
else return 0 ;
}
int main ( )
{
char ch;
scanf ( "%c" , & ch) ;
printf ( "%s" ,
( is_vocals ( ch) ? "It is a vocals."
: "It is not a vocals." )
) ;
return 0 ;
}
Problem 1297
# include <stdio.h>
int main ( )
{
int y;
while ( scanf ( "%d" , & y) != EOF )
{
int a= 0 , b= 0 , c= 0 , d= 0 ;
while ( a== b|| a== c|| a== d|| b== c|| b== d|| c== d)
{
y++ ;
a= y/ 1000 ;
b= ( y- a* 1000 ) / 100 ;
c= ( y- a* 1000 - b* 100 ) / 10 ;
d= y% 10 ;
if ( a!= b&& a!= c&& a!= d&& b!= c&& b!= d&& c!= d)
break ;
}
printf ( "%d\n" , y) ;
}
return 0 ;
}
Problem 1340
# include <stdio.h>
# include <stdlib.h>
# include <string.h>
# include <math.h>
# include <ctype.h>
int main ( )
{
int n, u, d;
int k = 0 ;
while ( scanf ( "%d%d%d" , & n, & u, & d) != EOF )
{
k = 0 ;
if ( n == 0 && u == 0 && d == 0 )
return 0 ;
while ( n > 0 )
{
n = n - u;
k++ ;
if ( n <= 0 )
break ;
n = n+ d;
k++ ;
}
printf ( "%d\n" , k) ;
k= 0 ;
}
return 0 ;
}
Problem 1347
# include <stdio.h>
# include <stdlib.h>
int main ( )
{
char n;
scanf ( "%c" , & n) ;
if ( n== 'a' || n== 'e' || n== 'i' || n== 'o' || n== 'u' || n== 'A' || n== 'E' || n== 'I' || n== 'O' || n== 'U' )
printf ( "yes" ) ;
else
printf ( "no" ) ;
return 0 ;
}
Problem 1368
# include <stdio.h>
struct CPLX {
double real;
double img;
} c1, c2;
void get_cplx ( struct CPLX * cx) {
scanf ( "%lf %lf" , & cx-> real, & cx-> img) ;
}
void put_cplx ( struct CPLX cx) {
printf ( "%.0lf %.0lf\n" , cx. real, cx. img) ;
}
struct CPLX add_cplx ( struct CPLX cx1, struct CPLX cx2) {
c1. real = cx1. real + cx2. real;
c1. img = cx1. img + cx2. img;
return c1;
}
struct CPLX sub_cplx ( struct CPLX cx1, struct CPLX cx2) {
c2. real = cx1. real - cx2. real;
c2. img = cx1. img - cx2. img;
return c2;
}
int main ( )
{
struct CPLX ab, cd;
int cases;
scanf ( "%d" , & cases) ;
while ( cases-- )
{
get_cplx ( & ab) ;
get_cplx ( & cd) ;
put_cplx ( add_cplx ( ab, cd) ) ;
put_cplx ( sub_cplx ( ab, cd) ) ;
}
return 0 ;
}
Problem 1374
# include <stdio.h>
# include <string.h>
int main ( )
{
char ch[ 101 ] ;
int i, k;
scanf ( "%s" , ch) ;
int m= strlen ( ch) ;
for ( i= 0 ; i< m; i++ )
{
k= ch[ i] ;
if ( k>= 'A' && k<= 'Z' )
ch[ i] = 'Z' - ch[ i] + 'A' ;
else if ( k>= 'a' && k<= 'z' )
ch[ i] = 'z' - ch[ i] + 'a' ;
printf ( "%c" , ch[ i] ) ;
}
return 0 ;
}
Problem 1375
# include <stdio.h>
int i= 0 ;
int add ( int n)
{
i+= n;
return i;
}
int main ( )
{
int min, max, sum;
scanf ( "%d%d" , & min, & max) ;
while ( min <= max)
sum = add ( min++ ) ;
printf ( "%d" , sum) ;
return 0 ;
}
Problem 1376
# include <stdio.h>
int get_array ( int a[ ] )
{
int i= 0 ;
while ( scanf ( "%d" , & a[ i] ) != EOF )
i++ ;
return i;
}
int put_array ( int a[ ] , int n)
{
int i;
printf ( "%d" , a[ 0 ] ) ;
for ( i= 1 ; i< n; i++ )
printf ( " %d" , a[ i] ) ;
printf ( "\n" ) ;
}
int sort_array ( int a[ ] , int n)
{
int t, i, j;
for ( j= 0 ; j< n- 1 ; j++ )
{
for ( i= j+ 1 ; i< n; i++ )
{
if ( a[ j] > a[ i] )
{
t= a[ j] ;
a[ j] = a[ i] ;
a[ i] = t;
}
}
}
}
# define MAX_SIZE 105
int main ( )
{
int array[ MAX_SIZE] , size;
size = get_array ( array) ;
sort_array ( array, size) ;
put_array ( array, size) ;
return 0 ;
}
Problem 1382
# include <stdio.h>
# include <string.h>
# include <stdlib.h>
# include <math.h>
# include <ctype.h>
int get_num ( int * a, int * b, int * c)
{
scanf ( "%d%d%d" , a, b, c) ;
}
int max_min ( int * mmax, int * mmin, int a, int b, int c)
{
if ( a> b)
{
if ( b>= c)
{
* mmax= a;
* mmin= c;
}
else
{
if ( a<= c)
{
* mmax= c;
* mmin= b;
}
else
{
* mmax= a;
* mmin= b;
}
}
}
else
{
if ( a>= c)
{
* mmax= b;
* mmin= c;
}
else
{
if ( b>= c)
{
* mmax= b;
* mmin= a;
}
else
{
* mmax= c;
* mmin= a;
}
}
}
return 0 ;
}
int main ( )
{
int cases, i;
int mmax, mmin, a, b, c;
scanf ( "%d" , & cases) ;
for ( i = 1 ; i <= cases; i++ )
{
get_num ( & a, & b, & c) ;
max_min ( & mmax, & mmin, a, b, c) ;
printf ( "case %d : %d, %d\n" , i, mmax, mmin) ;
}
}
Problem 1384
# include <stdio.h>
# include <string.h>
# include <stdlib.h>
int cheng ( int n)
{
int m;
if ( n== 1 || n== 0 )
m= 1 ;
else
m= n* cheng ( n- 1 ) ;
return m;
}
int main ( )
{
int n, m;
scanf ( "%d" , & n) ;
m= cheng ( n) ;
printf ( "%d" , m) ;
return 0 ;
}
Problem 1402
# include <stdio.h>
int main ( )
{
int a, b, c, x= 0 ;
scanf ( "%d%d%d" , & a, & b, & c) ;
if ( a% 2 == 0 )
x= x+ a;
else
x= x+ ( a+ 1 ) ;
if ( b% 2 == 0 )
x= x+ b;
else
x= x+ ( b+ 1 ) ;
if ( c% 2 == 0 )
x= x+ c;
else
x= x+ ( c+ 1 ) ;
printf ( "%.0d" , x) ;
return 0 ;
}
Problem 1404
# include <stdio.h>
int main ( )
{
int a, b, c, d, x, y, z;
scanf ( "%d%d%d%d\n%d%d%d" , & a, & b, & c, & d, & x, & y, & z) ;
if ( x>= a&& y>= b&& z>= c&& ( x+ y+ z) >= d)
printf ( "congratulations" ) ;
else
printf ( "sorry" ) ;
return 0 ;
}
Problem 1458
# include <stdio.h>
int main ( )
{
int N, b, n;
scanf ( "%d" , & N) ;
int a[ N] ;
for ( n= 1 ; n<= N; n++ )
{
scanf ( "%d" , & a[ n] ) ;
}
while ( scanf ( "%d" , & b) != EOF )
{
if ( b<= N)
printf ( "%d\n" , a[ b] ) ;
else
printf ( "OUT OF RANGE\n" ) ;
}
return 0 ;
}
Problem 1459
# include <stdio.h>
int main ( )
{
int N, b, n, i, k;
scanf ( "%d" , & N) ;
int a[ N] ;
for ( n= 1 ; n<= N; n++ )
{
scanf ( "%d" , & a[ n] ) ;
}
while ( scanf ( "%d" , & b) != EOF )
{
k= 0 ;
for ( i= 1 ; i<= N; i++ )
{
if ( b== a[ i] )
{
k++ ;
printf ( "%d\n" , i) ; break ;
}
}
if ( k== 0 )
printf ( "NOT FOUND\n" ) ;
}
return 0 ;
}
Problem 1461
# include <stdio.h>
int main ( )
{
int n;
scanf ( "%d" , & n) ;
int a[ n] ;
for ( int i= 0 ; i< n; i++ )
{
scanf ( "%d" , & a[ i] ) ;
}
int p;
while ( scanf ( "%d" , & p) != EOF )
{
if ( p> n|| p< - n)
{
printf ( "OUT OF RANGE\n" ) ;
}
else
{
if ( p< 0 )
{
p = n + p + 1 ;
}
printf ( "%d\n" , a[ p- 1 ] ) ;
}
}
return 0 ;
}
Problem 1462
# include <stdio.h>
int main ( )
{
int n;
scanf ( "%d" , & n) ;
int a[ n] ;
for ( int i= 0 ; i< n; i++ )
{
scanf ( "%d" , & a[ i] ) ;
}
int m;
while ( scanf ( "%d" , & m) != EOF )
{
int b= 0 ; int p = 0 ;
for ( int j= 0 ; j<= n- 1 ; j++ )
{
if ( a[ j] == m&& p== 0 )
{
printf ( "%d" , j+ 1 ) ;
b++ ; p++ ; continue ;
}
if ( a[ j] == m&& p!= 0 )
{
printf ( " %d" , j+ 1 ) ;
b++ ;
}
}
if ( b== 0 )
printf ( "NOT FOUND" ) ;
printf ( "\n" ) ;
}
return 0 ;
}
Problem 1463
# include <stdio.h>
int sum ( int a, int b)
{
int s;
s= a+ b;
return s;
}
int main ( )
{
int a, b;
while ( scanf ( "%d%d" , & a, & b) != EOF )
printf ( "%d\n" , sum ( a, b) ) ;
return 0 ;
}
Problem 1464
# include <stdio.h>
int put_sum ( int a, int b)
{
int s;
s= a+ b;
printf ( "%d\n" , s) ;
}
int main ( )
{
int a, b;
while ( scanf ( "%d%d" , & a, & b) != EOF )
put_sum ( a, b) ;
return 0 ;
}
Problem 1465
# include <stdio.h>
int is_leap_year ( int year)
{
if ( year% 100 == 0 && year% 400 == 0 )
return 1 ;
if ( year% 100 != 0 && year% 4 == 0 )
return 1 ;
if ( year% 4 != 0 )
return 0 ;
}
int main ( )
{
int year;
scanf ( "%d" , & year) ;
is_leap_year ( year) ? printf ( "Yes" ) : printf ( "No" ) ;
return 0 ;
}
Problem 1467
# include <stdio.h>
# define MAX_SIZE 101
int get_matrix ( int mtx[ ] [ MAX_SIZE] , int m, int n) {
for ( int i = 0 ; i < m; i++ ) {
for ( int j = 0 ; j < n; j++ ) {
scanf ( "%d" , & mtx[ i] [ j] ) ;
}
}
}
int put_array ( double arr[ ] , int n) {
printf ( "%lg" , arr[ 0 ] ) ;
for ( int i = 1 ; i < n; i++ ) {
printf ( " %lg" , arr[ i] ) ;
}
printf ( "\n" ) ;
}
int count_average ( double arr[ ] , int mtx[ ] [ MAX_SIZE] , int m, int n) {
int sum;
for ( int i = 0 ; i < n; i++ ) {
sum = 0 ;
for ( int j = 0 ; j < m; j++ ) {
sum += mtx[ j] [ i] ;
}
arr[ i] = ( ( double ) sum) / m;
}
}
int main ( )
{
int i, cases;
double average[ MAX_SIZE] ;
int m, n, matrix[ MAX_SIZE] [ MAX_SIZE] ;
scanf ( "%d" , & cases) ;
for ( i = 1 ; i <= cases; i++ )
{
scanf ( "%d%d" , & m, & n) ;
get_matrix ( matrix, m, n) ;
count_average ( average, matrix, m, n) ;
printf ( "case %d:" , i) ;
put_array ( average, n) ;
}
return 0 ;
}
Problem 1469
# include <stdio.h>
int main ( )
{
int n, a, i, b[ 100000 ] , m= 0 ;
for ( i= 0 ; i< 100000 ; i++ )
{
b[ i] = 0 ;
}
scanf ( "%d" , & n) ;
for ( i= 0 ; i< n; i++ )
{
scanf ( "%d" , & a) ;
b[ a] ++ ;
}
for ( i= 0 ; i< 100000 ; i++ )
{
if ( m< b[ i] )
{
m= b[ i] ;
}
}
printf ( "%d" , m) ;
return 0 ;
}
Problem 1473
# include <stdio.h>
int digits ( int n)
{
if ( n== 0 ) return 1 ;
if ( n< 0 ) n= - n;
int len= 0 ;
while ( n) {
len++ ;
n/= 10 ;
}
return len;
}
int main ( )
{
int num;
scanf ( "%d" , & num) ;
printf ( "%d\n" , digits ( num) ) ;
}
Problem 1495
# include <stdio.h>
# include <math.h>
# include <stdlib.h>
typedef struct POINT
{
double x, y;
} POINT;
void input_point ( POINT * pt)
{
scanf ( "%lf%lf" , & pt-> x, & pt-> y) ;
}
double distance ( POINT p1, POINT p2)
{
double i, j, k;
i= ( p1. x- p2. x) * ( p1. x- p2. x) ;
j= ( p1. y- p2. y) * ( p1. y- p2. y) ;
k= sqrt ( i+ j) ;
return k;
}
int main ( )
{
POINT p, q;
double dis;
input_point ( & p) ;
input_point ( & q) ;
dis= distance ( p, q) ;
printf ( "%g" , dis) ;
return 0 ;
}
Problem 1498
# include <stdio.h>
int main ( )
{
double a, b;
scanf ( "%lf%lf" , & a, & b) ;
printf ( "%.1lf %.1lf\n%.1lf %.1lf\n%.1lf %.1lf" , a, - b, - a, b, - a, - b) ;
return 0 ;
}
Problem 1508
# include <stdio.h>
# include <stdlib.h>
# include <string.h>
int main ( )
{
int n, a[ 1005 ] ;
while ( scanf ( "%d" , & n) != EOF )
{
if ( n == 0 )
return 0 ;
memset ( a, 0 , sizeof ( a) ) ;
getchar ( ) ;
int i, j;
for ( i = 0 ; i < n; i++ )
scanf ( "%d" , & a[ i] ) ;
for ( i = 0 ; i < n; i++ )
for ( j = n- 1 ; j > i; j-- )
if ( a[ i] < a[ j] )
{
int temp;
temp = a[ j] ;
a[ j] = a[ i] ;
a[ i] = temp;
}
if ( n % 2 == 0 )
printf ( "%lg\n" , ( double ) ( ( a[ n/ 2 ] + a[ n/ 2 - 1 ] ) / 2.0 ) ) ;
else
printf ( "%d\n" , a[ n/ 2 ] ) ;
}
return 0 ;
}
Problem 1509
# include <stdio.h>
# include <string.h>
# include <ctype.h>
int main ( )
{
char c;
int a[ 27 ] = { 0 } ;
int all= 0 ;
int low= 0 ;
int up= 0 ;
int digits= 0 ;
int space= 0 ;
int puncts= 0 ;
while ( ( c= getchar ( ) ) != EOF ) {
all++ ;
if ( islower ( c) ) {
a[ c- 'a' + 1 ] ++ ;
low++ ;
}
else if ( isupper ( c) ) {
up++ ;
a[ c- 'A' + 1 ] ++ ;
}
else if ( isdigit ( c) ) {
digits++ ;
}
else if ( isspace ( c) ) {
space++ ;
}
else if ( ispunct ( c) ) {
puncts++ ;
}
}
printf ( "All Characters : %d\n" , all) ;
printf ( "Lowers : %d\n" , low) ;
printf ( "Uppers : %d\n" , up) ;
printf ( "Digits : %d\n" , digits) ;
printf ( "Spaces : %d\n" , space) ;
printf ( "Puncts : %d\n" , puncts) ;
for ( int i= 1 ; i<= 26 ; i++ ) {
printf ( "%c : %d\n" , 'A' + i- 1 , a[ i] ) ;
}
return 0 ;
}
Problem 1510
# include <stdio.h>
int main ( )
{
int n, m, i, j, k, a[ 1000 ] ;
while ( scanf ( "%d %d" , & n, & m) != EOF )
{
for ( i= 0 ; i< n; i++ )
a[ i] = i+ 1 ;
i= 0 ;
j= 0 ;
k= 0 ;
while ( j< n- 1 )
{
if ( a[ i] != 0 )
k++ ;
if ( k== m)
{
a[ i] = 0 ;
j++ ;
k= 0 ;
}
i++ ;
if ( i== n)
i= 0 ;
}
for ( i= 0 ; i< n; i++ )
if ( a[ i] != 0 )
printf ( "%d\n" , a[ i] ) ;
}
}
Problem 1705
# include <stdio.h>
int main ( ) {
int n;
scanf ( "%d" , & n) ;
int a[ 101 ] ;
int high= 0 , low= 0 ;
for ( int i= 0 ; i< n; i++ ) {
scanf ( "%d" , & a[ i] ) ;
}
for ( int j= 0 ; j< n; j++ ) {
if ( a[ j] > 0 ) {
high= high+ a[ j] ;
}
else {
low= low+ a[ j] ;
}
}
printf ( "%d %d" , high, low) ;
}
Problem 1835
# include <stdio.h>
int main ( )
{
int a, b, sum;
scanf ( "%d %d" , & a, & b) ;
sum= a+ b;
printf ( "%d" , sum) ;
return 0 ;
}
Problem 1837
# include <stdio.h>
# include <string.h>
# define N 1001
int main ( )
{
char a[ N] , b[ N] ;
int n, i, j, x, y;
scanf ( "%d" , & n) ;
getchar ( ) ;
while ( n-- )
{
int sum= 0 ;
gets ( a) ;
gets ( b) ;
x= strlen ( a) ;
y= strlen ( b) ;
for ( i= 0 ; i< y- x+ 1 ; i++ )
{
for ( j= 0 ; j< x; j++ )
{
if ( a[ j] != b[ i+ j] )
break ;
}
if ( j== x)
sum++ ;
}
printf ( "%d\n" , sum) ;
}
return 0 ;
}