• 第五次作业


       1.输入两个正整数m和n(要求m<=n), 求m!+(m+1)!+(m+2)!…+n!

    #include<stdio.h>
    int main()
    {
        int m,n,i,x;
        float sum=0;
        printf("请输入两个正整数a,b");
        scanf("%d%d",&m,&n);
        if(m>n)
        {
            printf("输入数据错误");
        }
        else if(m<=n)
        {
            for(;m<=n;m++)
            {
                x=1;
                for(i=1;i<=m;i++)
                {
                    x=x*i;
                }
                sum=sum+x;
            }
        }
        printf("m<=n的阶乘的和为%.0f",sum);
        return 0;
     } 

      2.输出1000以内的所有完数。所谓完数是指这个数恰好等于除他本身外的所有因子之和。例,6的因子为1,2,3,6=1+2+3,所以6是完数。

    #include<stdio.h>
    int main()
    {
        int i,a,sum;
        for(i=2;i<1000;i++)
        {
            sum=1;
            for(a=2;a<i;a++)
            {
                if(i%a==0)
                {
                    sum+=a;
                }
            }
            if(sum==i)
            {
                printf("%d
    ",i);
            }
        }
        return 0;
    }

     3.奇偶归一猜想——对于每一个正整数,如果它是奇数,则对它乘3再加1,如果它是偶数,则对它除以2,如此循环,最终都能够得到1。   如n = 11,得序列:11, 34, 17, 52, 26, 13, 40, 20, 10, 5, 16, 8, 4, 2, 1。(共有14个步骤)  题目输入正整数n,求这个n多少步能归一 

    #include<stdio.h>
    int main()
    {
        int a,b=0;
        printf("输入正整数:");
        scanf("%d",&a);
        while(1)
        {
            if(a%2==0)
            {
                printf("%d/2=%d
    ",a,a/2);
                a=a/2;
                b++;
            }
            else
            {
                printf("3*%d+1=%d
    ",a,a*3+1);
                a=a*3+1; 
                b++;
            }
            if(a==1)break;
        }
        printf("求这个n用了%d次",b);
        return 0;
    }

    实验总结:

    个人感觉最难的是阶乘那个题。。因为我开始做的时候只用了一个循环,然后怎么做也做不出来。但是自己解释还解释的通。后来问了学长,他说因为有两个循环的量,所以用两个循环,把第二个套在第一个里面。。开始不会写,上机调试的时候旁边人教的我。完数题,读不懂题,还百度了。总之觉得自己理解能力很差。需要锻炼

  • 相关阅读:
    属性 Owner 不可用于 数据库...
    DHCP Client 服务无法启动,错误代码5:访问被拒绝
    删除域控中不活动的计算机
    在VMWare下LINUX中安装VMTool及共享文件夹
    ID 13508
    系统时间同步服务器地址收集
    windows 2003 登陆框 黑色解决办法
    linux下限制su权限
    linux screen + vim + taglist +ctags 使用
    gmail要求启用ActiveX控件,以及人人网没法分享的问题
  • 原文地址:https://www.cnblogs.com/gangfeng/p/6036726.html
Copyright © 2020-2023  润新知