问题
n 是小于 50 的自然数,3n+5 和 5n+4 有不等于 1 的公约数,求满足条件的 n 的和。
解答
public class CommonDivisorProblem
{
public static void main (String[] args)
{
System.out.println( sum() );
}
public static int sum ()
{
int s = 0;
for (int i = 0; i < 50; i++)
if ( hasCommonDivisor( 3*i+5, 5*i+4 ) )
s += i;
return s;
}
public static boolean hasCommonDivisor(int m, int n)
{
int min = m<n? m: n;
for ( int i=2; i<min; i++ )
if( m%i==0 && n%i==0 )
return true;
return false;
}
}
网友评论