一个数如果
被3除余数是2,
被5除余数是3,
被7除余数是2。
试求满足此条件的最小自然数?
通过简单的对问题分析,主要是需要注意两点:
除数和余数。
可以使用不定方程来解决这类问题。
假设最小的自然数是x,它被3、5、7除的商分别是a、 b和c,由此可以列### 方程如下:
x = 3a + 2
x = 5b + 3
x = 7c + 2
根据第一个方程和第二个方程,可以得到a = (5b+ 1)/3;
根据第二个方 法和第3个方程,可以得到c = (5b+1)/7,
因此5b+ 1需要是21的倍数,
此时b的最小值是4, x的值是23。
由第一个方程和第3个方程可知,x-2需要是21的倍数,
其中最小的x值应该是23,它刚好满足第二个方程,即最小自然数应该是23。
#include <stdio.h>
int main()
{
int n = 1;
while (1)
{
if (n % 3 == 2 && n % 5 == 3 && n % 7 == 2)
{
printf("%d", n);
break;
}
n++;
}
return 0;
}
23
#include <stdio.h>
int main()
{
int n=1;
while(n++)
{
if(n%3==2&&n%5==3&&n%7==2)
{
printf("%d",n);
break;
}
}
return 0;
}