每日三题
1.中国古代数学家张丘建在他的《算经》中提出了一个著名的“百钱百鸡问题”:一只公鸡值5钱,一只母鸡值3钱,三只小鸡值1钱,现在要用百钱买百鸡,请问公鸡、母鸡、小鸡各多少只?
#include <stdio.h>
void main()
{
int cock,hen,chicken;
for(cock=0;cock<=20;cock++)
for(hen=0;hen<=33;hen++)
{
chicken=100-cock-hen;
if(5*cock+3*hen+chicken/3.0==100)
printf("cock=%2d,hen=%2d,chicken=%2d\n",cock,hen,chicken);
}
}
2.求正整数N以内的所有勾股数。
#include"stdio.h"
void main()
{
int n;
int i,j,k;
while(scanf("%d",&n))
for(i=1;i<=n;i++)
for(j=i+1;j<=n;j++)
for(k=j+1;k<=n;k++)
if(i*i+j*j==k*k)
printf("%d,%d,%d\n",i,j,k);
}
3.两个不同的自然数A和B,如果整数A的全部因子(包括1,不包括A本身)之和等于B;且整数B的全部因子(包括1,不包括B本身)之和等于A,则将整数A和B称为亲密数。求3000以内的全部亲密数。
#include"stdio.h"
void main()
{
int a,b,i,n;
printf("There are following friendly-numbers pair smaller than 3000:\n");
for(a=1;a<=3000;a++)
{ b=0;
for(i=1;i<=a/2;i++)
if(!(a%i))
b+=i;
n=0;
for(i=1;i<=b/2;i++)
if(!(b%i))
n+=i;
if(n==a&&a<b)
printf("%4d %4d",a,b);
}
}