版权声明:转载请注明出处 https://blog.csdn.net/nanhuaibeian/article/details/88903601
- 中国古代数学家张丘建在他的《算经》中提出了一个著名的“百钱买百鸡问题”,
鸡翁一,值钱五,鸡母一,值钱三,鸡雏三,值钱一,百钱买百鸡,问翁、母、雏各几何?
#include "stdio.h"
void main(){
int i,j,k;
int sum=100;
for(i=0;i<=100;i++){
for(j=0;j<=100;j++){
for(k=0;k<=100;k++){
if((i+j+k==100)&&k%3==0){
if((i*5+j*3+k/3)==sum)
printf("%d,%d,%d\n",i,j,k);
}
}
}
}
}
- 如果一个渔夫从 2011 年 1 月 1 日开始每三天打一次渔,两天晒一次网,
编程实现当输入 2011 1 月 1 日以后的任意一天,输出该渔夫是在打渔还是在晒网。
# include "stdio.h"
void main() {
int year=2011,month=1,day=1;
int y=2011,mt=1,d=4;
// scanf("%d,%d,%d",&y,&mt,&d);
int i,sum=0,flag,temp;
int m[12]= {31,28,31,30,31,30,31,31,30,31,30,31};
if(y>2011) {
for(i=2012; i<y; i++) {
flag=0;
if((y%4==0&&y%100!=0)||y%400==0) flag=1;
sum=sum+365+flag;
}
sum=sum-1;
for(i=1; i<mt; i++) {
if(i==2) sum=sum+m[i]+flag;
else sum=sum+m[i];
}
sum=sum+d;
temp=sum%5;
if(temp>3) printf("筛网!");
else printf("打渔!");
} else {
for(i=1; i<mt; i++) {
sum=sum+m[i];
}
sum=sum-1+d;
temp=sum%5;
if(temp>3) printf("筛网!");
else printf("打渔!");
}
}
- 假设一对兔子的成熟期是一个月,即一个月可长成成兔,
那么,如果每对成兔每个月都生一对小兔,一对新生的小兔从第二个月起就开始生兔子,
试问从一对兔子开始繁殖,以后每个月会有多少对兔子?
#include "stdio.h"
void main(){
int a=1,b=1,m,i,temp;
scanf("%d",&m);
if(m==1||m==2) printf("1");
else{
for(i=3;i<=m;i++){
temp=a;
a=b;
b=b+temp;
}
printf("%d",b);
}
}
- 一只兔子躲进了 10 个环形分布的洞的某一个,狼在第一个洞没有找到兔子,
就隔一个洞,到第三个洞去找,也没有找到,就隔两个洞,到第六个洞去找,以后每次多隔一个洞
去找兔子……这样下去,结果一直找不到兔子,请问:兔子可能躲在哪个洞中?
#include "stdio.h"
typedef struct{
int id;
int flag;
}st;
void main(){
int i;
st a[11];
for(i=1;i<=10;i++){
a[i].id=i;
a[i].flag=0;
}
i=1;
int sum=0;
while(i<10){
if((sum+i)%10==0) sum=10;
else sum=(sum+i)%10;
a[sum].flag=1;
// printf("%d\n",a[sum].id);
i++;
}
for(i=1;i<=10;i++){
if(a[i].flag==0) printf("%d\n",a[i].id);
}
}