有意思的逻辑思维题(一)(hdu2018,2160,2053)

母猪的故事


题目链接:

http://acm.hdu.edu.cn/showproblem.php?pid=2018

题目描述:

有一头母牛,它每年年初生一头小母牛。每头小母牛从第四个年头开始,每年年初也生一头小母牛。请编程实现在第n年的时候,共有多少头母牛?

一开始看到这道题时确实是很懵比的,后来知道真想的我才发现原来如此的简单。。。


第一年  A

第二年 A ,B(A生)

第三年 A,B(A生),C(A生)

第四年 A,B(A生),C(A生),D(A生)

第五年 A,B(A生),C(A生),D(A生),E(A生),F(B生)

第六年 A,B(A生),C(A生),D(A生),E(A生),F(B生),G(C生)


不难发现,接下来每年增加的牛 就是四年前存在的牛,所以z[i]=z[i-1]+z[i-3];

#include 
int main()
{   
int z[55],x,i,n;        
while(scanf("%d",&n)!=EOF && n!=0)   
{

z[1]=1;
z[2]=2;
z[3]=3;
z[4]=4;
for(i=4;i<=n;i++)
{
z[i]=z[i-1]+z[i-3];
}

printf("%d\n",z[n]);
}
}


买一送一,母牛的故事结束了还有母猪的故事~23333


http://acm.hdu.edu.cn/showproblem.php?pid=2160


10000以内质数阶乘和的后两位

某python群加群的验证题目~ 因为只要超过10,他的阶乘后两位就必然是00(2*5*10)所以~

有意思的逻辑思维题(一)(hdu2018,2160,2053)_第1张图片



开关灯

http://acm.hdu.edu.cn/showproblem.php?pid=2053


题目描述:有一排灯,开始都是关着的    编号1,2,3……  然后开始数数,数到1时把1的倍数灯开(关),数到2时把2的倍数灯开(关)……

求N个数后,有几盏开着的灯。

蓝桥杯某次国赛也出过这道题,当时机智的我一眼就看透了唯一的真相!2333

首先所有灯都是1的倍数,即n=1时,都是开着的,从2开始,即将对其他的灯进行开关操作

很明显,一盏灯被按的次数是他的约数的个数,然而除了该开平方这个约数以外,其他的约数都是成对的,可以抵消不计

即,最终只有完全平方数才可以亮~

#include
#include


int main()
{
    int n,i;
    while(scanf("%d",&n)!=EOF)
    {
        i=(int)sqrt(n);
        if(i*i==n)
            printf("1\n");
        else
            printf("0\n");
    }

}




你可能感兴趣的:(ACM,nine_sun算法专栏)