| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1139 人关注过本帖
标题:求算法,不要代码!
只看楼主 加入收藏
wlz0302520
Rank: 2
等 级:论坛游民
帖 子:43
专家分:16
注 册:2010-11-17
结帖率:100%
收藏
已结贴  问题点数:10 回复次数:15 
求算法,不要代码!
题目:Sn=a+aa+aaa...+aa..aa(n个a)。
搜索更多相关主题的帖子: 算法 
2011-01-03 23:16
点线面
Rank: 8Rank: 8
来 自:NO.-1
等 级:蝙蝠侠
帖 子:525
专家分:980
注 册:2011-1-3
收藏
得分:1 

1   1*a
11 (10+1)*a
111 ((10+1)*10+1)*a
1111 (((10+1)*10+1)*10+1)*a

通项式可以理解为
an=0;
an=(an*10+1)
...
a*an
可以通过递归

[ 本帖最后由 点线面 于 2011-1-3 23:30 编辑 ]

小代码,大智慧
2011-01-03 23:23
makebest
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:3
帖 子:658
专家分:962
注 册:2005-3-17
收藏
得分:1 
Sn+=a* n*   10^0
Sn+=a*(n-1)*10^1
Sn+=a*(n-2)*10^2
以此类推
2011-01-04 08:35
qq1023569223
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:湖南科技大学
等 级:贵宾
威 望:26
帖 子:2753
专家分:13404
注 册:2010-12-22
收藏
得分:1 
long fun(int a,int n)
{
  int i,j,k=a; long sum=0;
  if(n==1) return a;
 for(i=2;i<=n;i++)
  for(j=1;j<i;j++)
       { k=a+10*k; sum+=k; }
 returm sum;
}  //好了,不写代码怎么说得清楚啊

   唯实惟新 至诚致志
2011-01-04 09:12
点线面
Rank: 8Rank: 8
来 自:NO.-1
等 级:蝙蝠侠
帖 子:525
专家分:980
注 册:2011-1-3
收藏
得分:0 
还有一个通项式是
an=a*(((10^n)-1)/9)
根据数列求和
S1= a(((10^1)-1)/9)
S2= a(((10^1)-1)/9)+a(((10^2)-1)/9)
...
sn= a/9(10*(1-10^n)/(1-10)-n)
只需进行10^n的循环运算+表达式即可

[ 本帖最后由 点线面 于 2011-1-4 10:24 编辑 ]

小代码,大智慧
2011-01-04 10:17
a343637412
Rank: 7Rank: 7Rank: 7
来 自:そ ら
等 级:黑侠
帖 子:357
专家分:620
注 册:2010-9-26
收藏
得分:1 



顶楼上....
2011-01-04 13:27
ukam
Rank: 2
等 级:论坛游民
帖 子:9
专家分:10
注 册:2011-1-4
收藏
得分:1 
顶点线面一下
太帅了,这个算法
2011-01-04 13:33
zzgzzg00
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:2
帖 子:388
专家分:627
注 册:2010-8-2
收藏
得分:1 
main()
{
int a,b,c=0,d,i;
scanf("%d,%d",&a,&b);
d=a;
for(i=1;i<=b;i++)
{
a=a*10+d;
c=c+a;
}
printf("%d",c+d);
说不清啊  不知怎么说
}

粗心是大敌
2011-01-04 14:14
马后炮
Rank: 7Rank: 7Rank: 7
等 级:黑侠
帖 子:156
专家分:560
注 册:2010-12-17
收藏
得分:1 
一种是公式法,如5楼
另一种是用程序递推做,但这种不用代码不好说话

樱之雪,晓之车
2011-01-04 15:30
xufan123
Rank: 5Rank: 5
等 级:职业侠客
帖 子:226
专家分:318
注 册:2010-11-15
收藏
得分:1 
五楼的不错
#include<stdio.h>
#include<math.h>
void main()
{
    int term=0,sum=0,i=0;
    int a,n;
    printf("please input a number :\n");
    scanf("%d",&a);
    printf("please input n number :\n");
    scanf("%d",&n);
    while(i<n)
    {
        term=term+a*pow(10,i);//对每一项的累加
        sum=sum+term;//和的累加
        i++;
    }
    printf("%d",sum);
}
两层累加


2011-01-04 17:56
快速回复:求算法,不要代码!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.012042 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved