菜鸟编程学习(python&C--014)

Python 练习实例20  Python 100例

题目:一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地时,共经过多少米?第10次反弹多高?

程序代码:

sum=100

k=200.0

for i in range(1,10):

    k=k/2

    sum=sum+k

print sum

print k/4.0


Python 练习实例21 Python 100例

题目:猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。

程序分析:采取逆向思维的方法,从后往前推断。

程序代码:

k=1

for i in range(1,10):

    k=(k+1)*2

print k


Python 练习实例22  Python 100例

题目:两个乒乓球队进行比赛,各出三人。甲队为a,b,c三人,乙队为x,y,z三人。已抽签决定比赛名单。有人向队员打听比赛的名单。a说他不和x比,c说他不和x,z比,请编程序找出三队赛手的名单。

程序代码:

for i in range(ord('x'),ord('z') + 1):

    for j in range(ord('x'),ord('z') + 1):

        if i != j:

            for k in range(ord('x'),ord('z') + 1):

                if (i != k) and (j != k):

                    if (i != ord('x')) and (k != ord('x')) and (k != ord('z')):

                        print 'a -- %s\t,b -- %s\t,c -- %s\t' % (chr(i),chr(j),chr(k))



题目100   (南阳oj)

1的个数

时间限制:3000 ms  |  内存限制:65535 KB

难度:1

描述

小南刚学了二进制,他想知道一个数的二进制表示中有多少个1,你能帮他写一个程序来完成这个任务吗?

输入

第一行输入一个整数N,表示测试数据的组数(1

每组测试数据只有一行,是一个整数M(0=

输出

每组测试输出占一行,输出M的二进制表示中1的个数

样例输入

3

4

6

7

样例输出

1

2

3

程序代码:

#include

int main()

{

    int a,k,sum;

    scanf("%d",&k);

    while(k--)

    {

        sum=0;

        scanf("%d",&a);

        if (a==0)

        {

            printf("%d\n",sum);

        }

        else

        {

            while (a/2!=0)

            {

                    if (a%2==1)

                    {

                            sum=sum+1;

                    }

                     a=a/2;

                }

                printf("%d\n",sum+1);

            }

    }

}




你可能感兴趣的:(菜鸟编程学习(python&C--014))