码迷,mamicode.com
首页 > 其他好文 > 详细

无聊的时候做些无聊的题

时间:2014-07-26 17:07:52      阅读:274      评论:0      收藏:0      [点我收藏+]

标签:io   for   代码   amp   编程   a   源码   3   

都是自己写的,如果代码有不好的地方,望请指出,哥只是一个小菜。这里将收集我自己觉得需要花点脑经的题目。题目会不断的累加,以便自己不断的积累编程经验和编程的一些技巧和思想。

 

1.实现一个函数,传递一个整形参数,如果这个整数可以分解成连续的自然数相加,则把所有的可能输出,否则,输出无法分解。
例如:
输入:15
输出:
15 = 1+2+3+4+5
15 = 4+5+6
15 = 7+8
输入:4
输出:无法分解

 

哥的源码:

 

#include <stdio.h>

void func(n)

{

    int i;

    int j;

    int sums;

    int flag =0;

    int k;

    int show =0;

    for(i=1;i <= n/2;i++)

    {

        flag = 0;

        sums =0;

        for(j=i;j <= n/2+1;j++)

        {

            sums += j;

            if(sums==n)

            {

                flag =1;

                show =1;

                break;

            }

            

        }

        if(flag ==1)

        {

            printf("%d=",n);

            for(k=i;k<=j;k++)

            {

                printf("%d",k);

                if(k<j)printf("+");

            }

            printf("\n");

            

        }

        

    }

    if(show==0)

      printf("无法分解");

}

int main(void)

{

    int n;

    scanf("%d",&n);

    

    func(n);

    

    return 0;

}

2.实现一个函数,传递一个整数参数,返回这个整数参数的阶乘的末尾有多少个0,并在main函数里输出。
例如:
输入:9
输出:1
输入:3
输出:0
输入:788
输出:195

 

哥的源码:

/*#include <stdio.h>

#include <math.h>

int sum(int n)

{

    int i=0;

    int j=0;

    int s=0;

    int b =n;

    while(n>=5)

    {

        n /= 5;

        i++;

    }

    for(j=1;j<=i;j++)

    {

        s += b/pow(5,j);

    }

    return s;

}

 

int main(void)

{

    int n;

    scanf("%d",&n);

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

    return 0;

}*/

无聊的时候做些无聊的题,布布扣,bubuko.com

无聊的时候做些无聊的题

标签:io   for   代码   amp   编程   a   源码   3   

原文地址:http://www.cnblogs.com/Ohero/p/3870274.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!