查看: 1972|回复: 13
收起左侧

[其他] 有三道编程的题,很简单,大家有木有会的

[复制链接]
乾坤朱 该用户已被删除
发表于 2013-5-23 21:46:55 | 显示全部楼层 |阅读模式
我不是学计算机的,阴阳差错的报了一个计算机方面的选修课,留了作业,三道题,虽然很简单,但是没学过有压力啊,所以看看各位有木有会的,非常感谢
            
         第一题:一个数如果恰好大于它的因子之和,这个数就称为“完数”,例如,6的因子为1,2,3,而6=1+2+3,因此6是“完数”。编写程序找出10000之内的所有完数,并按下列各式输出其因子:6 its factors  are 1,2,3.
      
         第二题:编写程序实现,从键盘输入10个数,要求输出其中最大数。

         第三题:编写程序求费波那西(Fibonacci)数列的前40个数
wyj915752168
发表于 2013-5-23 21:49:07 | 显示全部楼层
用什么语言?
乾坤朱 该用户已被删除
 楼主| 发表于 2013-5-23 21:51:36 | 显示全部楼层
wyj915752168 发表于 2013-5-23 21:49
用什么语言?

C语言,谢了
wyj915752168
发表于 2013-5-23 21:55:17 | 显示全部楼层
乾坤朱 发表于 2013-5-23 21:51
C语言,谢了


呃,你是真的什么都不懂?入门的神马都不知道的话,以后也会一直有问题的。。。这个目前我用的是手机上网写代码比较麻烦,但是这三个问题很简单的,如果你真心不会的话退课才是正确的选择吧,否则到时候考试会挂的啊。。。???
乾坤朱 该用户已被删除
 楼主| 发表于 2013-5-23 21:58:10 | 显示全部楼层
本帖最后由 乾坤朱 于 2013-5-23 22:00 编辑
wyj915752168 发表于 2013-5-23 21:55
呃,你是真的什么都不懂?入门的神马都不知道的话,以后也会一直有问题的。。。这个目前我用的是手机上 ...


额。。。选修课不考试,只是让了解了解,当时看着这门课有意思才报的,真心不会,不交的话又不好,求解救啊
   没事不急的  ,你什么时候有空帮忙看看,下周一才交,辛苦了
ka_fan520
发表于 2013-5-23 22:15:24 | 显示全部楼层
完数,看看对不


#include <stdio.h>
#include <stdlib.h>

int main()
{
    static int k[10];//因子
    int i,j,n,s;
    for(j=2;j<1000;j++)
    {
        n=-1;
        s=j;//数字
        for(i=1;i<j;i++)//求数j的因子
        {
            if((j%i)==0)//判断是否因子
            {
                n++;
                s=s-i;//i为因子,数s减去因子
                k[n]=i;//存储因子
            }
       }
       if(s==0)//数满足因子和
       {
           printf("%d its factors are:  ",j);
           for(i=0;i<n;i++)
                printf("%d,",k[i]);
           printf("%d\n",k[n]);
        }
    }

    //printf("Hello world!\n");
    return 0;
}

评分

参与人数 1经验 +3 收起 理由
wyj915752168 + 3 感谢解答: )

查看全部评分

乾坤朱 该用户已被删除
 楼主| 发表于 2013-5-23 22:20:14 | 显示全部楼层
ka_fan520 发表于 2013-5-23 22:15
完数,看看对不

救星啊,这是第一题吧,既然第一题会,那后两题都不是事,也帮忙看看吧
wyj915752168
发表于 2013-5-23 22:21:24 | 显示全部楼层
第一题的因子一定要是素数吗?
wyj915752168
发表于 2013-5-23 22:25:07 | 显示全部楼层
第一题
#include <stdio.h>
int main(void)
{
    int factor,  number, sum;
        for(number=1;number<=10000;number++){
            sum=1;
            for(factor=2;factor<=number/2;factor++)
                if(number%factor==0)
                    sum+=factor;
            if(sum==number){
                printf("%d its factors  are", number);
                for(factor=2;factor<=number/2;factor++)
                    if(number%factor==0)
                        printf("  %d,", factor);
                printf("\n");
            }
        }
    }
ka_fan520
发表于 2013-5-23 22:27:01 | 显示全部楼层
第二题看看吧


#include <stdio.h>
#include <stdlib.h>

int main()
{
    //printf("Hello world!\n");
    int i,num[10],maxnum;
    printf("input 10 numbers:\n");
    for(i=0;i<10;i++)
        scanf("%d",&num[i]);
    for(i=0;i<10;i++)
        printf("%d ",num[i]);
    maxnum=num[0];
    for(i=1;i<10;i++)
    {
        if(maxnum<num[i])
            maxnum=num[i];
    }
    printf("\nmax number is:%d",maxnum);
    return 0;
}

评分

参与人数 1人气 +1 收起 理由
peng85344558 + 1 版主有点小气,才3分

查看全部评分

您需要登录后才可以回帖 登录 | 快速注册

本版积分规则

手机版|杀毒软件|软件论坛| 卡饭论坛

Copyright © KaFan  KaFan.cn All Rights Reserved.

Powered by Discuz! X3.4( 沪ICP备2020031077号-2 ) GMT+8, 2025-1-16 21:52 , Processed in 0.129766 second(s), 17 queries .

卡饭网所发布的一切软件、样本、工具、文章等仅限用于学习和研究,不得将上述内容用于商业或者其他非法用途,否则产生的一切后果自负,本站信息来自网络,版权争议问题与本站无关,您必须在下载后的24小时之内从您的电脑中彻底删除上述信息,如有问题请通过邮件与我们联系。

快速回复 客服 返回顶部 返回列表