问题:有数被3除余1, 5除余2, 7除余4,9除余7, 11除余5, 13除余6, 17除余3, 19除余8,求解
(这是我看到的一个题目,就试试能不能用c语言解)
一直运行不起,求指教,
你程序根本就不对,重新帮你写了一个,就穷举下就好了
#include <stdio.h>
int main()
{
int x = 0;
while (1)
{
if (x % 3 == 1 && x % 5 == 2 && x % 7 == 4 && x % 9 == 7 && x % 11 == 5 && x % 13 == 6 && x % 17 == 3 && x % 19 == 8)
break;
x++;
}
printf("the num is %d\n", x);
return 0;
}
the num is 9252457
当然,也有数学上求最小公倍数之类的改进的方法,你可以自己研究下,毕竟这是编程问题不是数学问题,就不讨论了。
c语言不是数学计算器,不是解方程用的。等号的意思是赋值,把右边的值赋值到左边,后面那几个max%都是表达式肯定不对。
而且c语言的运算过程是你自己写出来的,也就是说你要自己想好怎么求解这个数,然后让c来帮你算。
就比如我告诉你max%那几行你肯定不能马上给我max的值,你也需要按照求解方法一步一步来算max,c只不过是帮你把算的过程用电脑实现。