#include <myhead.h>
int main(int argc, const char *argv[])
{
// 百钱买百鸡
// 公鸡每只5元,母鸡每只3元,小鸡1元三只,100元买100只,计算有多少种
int gj = 0;
int mj = 0;
int xj = 0;
int count = 0;
while(gj <= 20){
mj = 0;
while(mj < 100/3 ){
xj = 0;
while(xj < 300){
if(gj + mj + xj == 100 && xj%3==0 &&(gj * 5 + mj *3 + xj/3 == 100))
{
printf("公鸡%d只,母鸡%d只,小鸡%d只\n",gj,mj,xj);
count++;
}
xj++;
}
mj++;
}
gj++;
}
printf("一共%d种\n",count);
return 0;
}
公鸡0只,母鸡25只,小鸡75只
公鸡4只,母鸡18只,小鸡78只
公鸡8只,母鸡11只,小鸡81只
公鸡12只,母鸡4只,小鸡84只
一共4种
#include <myhead.h>
int main(int argc, const char *argv[])
{
//鸡兔同笼
//有若干只鸡兔同在一个笼子里,从上面数,有35个头
//,从下面数,有94只脚。问笼中各有多少只鸡和兔
//
int tu = 0;
int ji = 0;
while(tu<= 35){
ji = 35 - tu;
if(tu + ji == 35 && tu*4 + ji *2 == 94){
printf("兔子%d只,鸡%d只\n",tu, ji);
}
tu++;
}
return 0;
}
兔子12只,鸡23只
#include <myhead.h>
int main(int argc, const char *argv[])
{
// 韩信点兵
// 韩信点兵又称为中国剩余定理,相传汉高祖刘邦问大将军韩信的卫
// 兵有多少,韩信说,3人一列余1,5人一列余1人,7人一列余1人
// ,……刘邦茫然不知,你知道韩信至少有多少卫兵吗?
// (韩信手中有600+,求人数)
int num = 600;
while(1){
if(num%3 == 1 && num%5 == 1 && num%7 == 1){
printf("有%d兵\n",num);
break;
}
num++;
}
return 0;
}
有631兵
#include <myhead.h>
int main(int argc, const char *argv[])
{
//折纸赛珠峰
//一张厚足够大的度为1毫米的纸,可以无限折叠,
//请问,对折多少次后,会超过珠穆朗玛峰(8848.88米)
int num = 0;
int inita = 1;
while(inita <= 8848880){
inita *= 2;
num++;
}
printf("对折%d次\n",num);
return 0;
}
对折24次
#include <myhead.h>
int main(int argc, const char *argv[])
{
//猴子吃桃
//一个猴子吃一颗数上的桃子,每天吃当前桃子的一半并多一个,
//第十天后,桃子还剩1个,问一开始有多少个桃子
//
int num = 1;
for(int i = 10; i > 1; i--){
num = (1 + num)*2;
}
printf("一共%d个\n",num);
return 0;
}
一共1534个
#include <myhead.h>
int main(int argc, const char *argv[])
{
//斐波那契数列
int a = 0;
int b = 1;
int num = 1;
for(int i = 0; i < 20; i++){
printf("%d ",num);
num = a + b;
a = b;
b = num;
}
printf("\n");
//1 1 2 3 5 8 13 21 34 55
//89 144 233 377 610 987 1597 2584 4181 6765
return 0;
}
1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 2584 4181 6765