主题:帮忙呀,高手们!!!谢谢!!!!
xianqing
[专家分:0] 发布于 2005-06-20 14:48:00
若某整数N的所有因子之和等于N的倍数,则称N为多因子完备数。例如,28是多因子完备数。因为:1+2+4+7+14+28=56=28* 2,试求[1,7000]之内:(1)有多少个多因子完备数?(2)其中最大一个多因子完备数?(3)其中第二大多因子完备数?
我编了下,可老是算不出来
麻烦帮下 用C写!谢![em8]
[fly]麻烦帮下啦 谢!!![/fly]
回复列表 (共10个回复)
沙发
xianqing [专家分:0] 发布于 2005-06-20 14:54:00
[fly]怎了 大哥兄弟姐妹们?吾该帮下小弟啊 [/fly][em10]
板凳
没钱的男人 [专家分:560] 发布于 2005-06-20 15:05:00
这是不是你想要的
#include <stdio.h>
void main()
{ int i,j,k,max,secmax,count=0,sum;
int a[1000];
for(i=max=secmax=1; i<=7000; i++)
{ k=0;
for(j=1; j<=i; j++)
if(i%j==0) a[k++]=j;
for(j=0,sum=0; j<k; j++)
sum+=a[j];
if(sum%i==0)
{ count++;
if(i>max)
{ secmax=max; max=i;
}
}
}
printf("\ncount=%d,max=%d,secmax=%d",count,max,secmax);
}
3 楼
xianqing [专家分:0] 发布于 2005-06-20 15:15:00
[fly]谢谢2搂的老大罗!![/fly]
4 楼
jay0518 [专家分:3150] 发布于 2005-06-20 15:50:00
#include<stdio.h>
#define ERROR 0
#define OK 1
#define N 3277
typedef int status;
int array[N];
status calculate(int x,int y)
{int i,sum=0;
for(i=0;i<x;i++)
sum+=array[i];
if(sum%y)
return OK;
else return ERROR;
}
main()
{
int num,i,j,count=0,big=0;
for(num=1;num<7000;num++)
{
j=0;
for(i=1;i<num;i++)
{
if(!(num%i))
{
array[j]=i;
j++;
}
}
if(calculate(j,num))
{
count++;
if(num>big)
big=num;
}
}
printf("\nthe num of wbeishu is:%d",count);
printf("\nthe biggest shu (1~7000) is:%d",num);
num--;
while(1)
{
j=0;
for(i=1;i<num;i++)
{
if(!(num%i))
{
array[j]=i;
j++;
}
}
if(calculate(j,num))
break;
num--;
}
printf("\nthe co-biggest shu is:%d",num);
}
5 楼
xianqing [专家分:0] 发布于 2005-06-20 19:12:00
题目内容:编号为1,2,…,n的几个人按顺时针方向围坐一圈, 每个持有一个密码(正整数)。开始取任一个正整数作为报数上限值m, 并从第一人开始按顺时针方向开始顺序报数。报到m时停止报数,报m的人出列。然后报此数的人密码作为新的m 值,并从顺时针方向上紧挨他的下一个重新自1报数。如此进行下去,直到所有人全部出列为止。若输入m值为1,则顺序出队。试设计一个求出列顺序的程序。
[fly]谢谢4楼的大哥了 俺老当然支持你啦 再帮我编多个 这个实在棘手 难:麻烦你了[/fly]
6 楼
没钱的男人 [专家分:560] 发布于 2005-06-20 20:09:00
很多地方有例子程序的,你找例子程序吧,再按你自己的要求进行修改
7 楼
xianqing [专家分:0] 发布于 2005-06-21 15:37:00
6楼的大哥 怎么那个程序的结果同答案不一样的!我调了下 还是得不到啊??????
[fly]6楼的大哥 怎么那个程序的结果同答案不一样的!我调了下 还是得不到啊??????[/fly][em3][em3]
8 楼
没钱的男人 [专家分:560] 发布于 2005-06-21 20:36:00
答案是:
count=6,max=672,secmax=496
9 楼
cijiao [专家分:0] 发布于 2005-11-29 21:23:00
答案是;coun=6 max=8128,secmax=2016
10 楼
cijiao [专家分:0] 发布于 2005-12-02 21:56:00
答案是coun=4 max=8128,secmax=496.
我来回复