有36头猪,每天杀单数头,分九天杀完,怎么用C++或C语言程序证明无解?
来源:学生作业帮 编辑:大师作文网作业帮 分类:综合作业 时间:2024/10/01 01:31:04
有36头猪,每天杀单数头,分九天杀完,怎么用C++或C语言程序证明无解?
分数是少了点,麻烦了啊……
分数是少了点,麻烦了啊……
一、穷举算法:
穷举每天杀猪数,若最后9天杀不完或提早杀完则证明无解.
利用递归完成:
#include
//PIG头猪,分DAY天杀完,每天杀单数头
const int DAY=9;
const int PIG=36;
bool DFS(int day,int remain) //第day天剩下remain只猪,若最后能杀完则返回1,否则返回0
{
if(day>DAY) //如果DAY天已过,剩余0只返回1,即能杀完,否则返回0
return remain==0;
int i;
for(i=1;i=0) (2)
则由(1)(2)得 PIG==2*(p1+p2+p3+...+pDAY)+DAY
显然如果等式成立,则PIG与DAY奇偶性相同
即
PIG%2==DAY%2
#include
const int DAY=9;
const int PIG=36;
int main()
{
if(PIG%2==DAY%2)
puts("有解");
else
puts("无解");
getchar();
return 0;
}
穷举每天杀猪数,若最后9天杀不完或提早杀完则证明无解.
利用递归完成:
#include
//PIG头猪,分DAY天杀完,每天杀单数头
const int DAY=9;
const int PIG=36;
bool DFS(int day,int remain) //第day天剩下remain只猪,若最后能杀完则返回1,否则返回0
{
if(day>DAY) //如果DAY天已过,剩余0只返回1,即能杀完,否则返回0
return remain==0;
int i;
for(i=1;i=0) (2)
则由(1)(2)得 PIG==2*(p1+p2+p3+...+pDAY)+DAY
显然如果等式成立,则PIG与DAY奇偶性相同
即
PIG%2==DAY%2
#include
const int DAY=9;
const int PIG=36;
int main()
{
if(PIG%2==DAY%2)
puts("有解");
else
puts("无解");
getchar();
return 0;
}
求C语言高手 C语言怎么写头文件?
有36个苹果,分九天吃完,但每天必须吃的是单数,也就是奇数,问九天怎么把这36个苹果吃完?
华罗庚的一道数学题!36头猪9天杀光每天只能杀单数不许杀双数(不包括2位数) 怎么杀?谁帮我解答出来我给他多少分都可以不
三十六只羊分九天杀!每天只能杀单数
怎么用c语言编一个程序解二元一次方程
C语言中的.h头文件该怎么定义,有哪些规则?请举出一个完整的例子来说明.
怎么用matlab或C语言编写程序求解下列方程组 急求啊 谢谢
用c语言编程:鸡兔同笼,有三十五只头,九十四个脚,求鸡兔各有多少?
c字头的英文名有哪些?
有36只鸡,分9天杀.每天只能杀单数,请问每天各杀几只?
用if语言解一元二次方程的C语言程序,...
m!+n!用c语言怎么写程序?