当前位置:首页
开发技术指南» 文章正文
    引言:
 

 

    摘要: 我下载了http://bizflash.net/aicase/aicase.zip 导入我自己的数据库,然后生成,得到的bcb代码能正确编译,但是菜单什么都没有啊,怎么用的? ......
    摘要: 谁能介绍或总结一些关于.net的基于负责人的安全机制的资料和代码。 (iprincipal和identity接口,书上写的太少了,不会用) ......


1+2+3+...+n 的算法怎么写啊

1+2+3+...+n   的算法怎么写啊?昨天的面试的时候没有写出来!请大吓,帮帮

NO.1   作者: Andy84920

不就输入一个数然后i++一直到这个数,累积相加不可以吗?

NO.2   作者: wyz52126

int   AddNumber(int   N)  
  {  
  int   i;  
  int   sum   =0   ;  
  for(i=1;i<=N;i++)  
    sum   =   sum   +   i;  
  return   sum;  
  }

NO.3   作者: arfi

n*(n+1)/2

NO.4   作者: chijiao

如果n不是很大,则很容易解决了。  
  如:  
  int   nTotal   =   0;  
  for   (   int   i   =   0   ;   i   <   n;   i   ++)  
  {  
        nTotal   +=   i;  
  }  
  但如果n->最大整数的话,应该考虑存储和的方式。  
  类似如:  
   
  #define   _MAX_PART_     100000  
  #define   _ONE_STEP_     1000000000  
  #define   _MAX_COUNT_   10000  
   
  #include   "iostream.h"  
  #include   "stdio.h"  
  #include   <string.h>  
   
  #define   TYPE       __int64  
   
  typedef   struct{  
  TYPE   iValue;  
  }PART;  
   
  PART   Part[_MAX_PART_];  
   
  void   Total(TYPE   i   ,TYPE   &nMax)  
  {  
  if(i   >   _ONE_STEP_)  
  {  
  TYPE   k   =   i   /   _ONE_STEP_;  
  Part[1].iValue   +=   k;  
  Part[0].iValue   +=   i   %   _ONE_STEP_;  
  }  
  else  
  {  
  Part[0].iValue   +=   i;  
  }  
   
  for(int   k   =   0   ;   k   <   nMax;   k   ++)  
  {  
  if(Part[k].iValue   >   _ONE_STEP_   )  
  {  
  TYPE   tt   =   Part[k].iValue   /   _ONE_STEP_;  
  Part[k   +   1].iValue   +=   tt;  
  Part[k].iValue   =   Part[k].iValue   -   tt   *   _ONE_STEP_;  
  if(k   +   1   ==   nMax)  
  {  
  nMax   ++;  
  break;  
  }  
  }  
  }  
  }  
   
   
  main()  
  {  
  ...  
  int   nMax   =   1;  
  for(int   i   =   0;   i   <   n   ;   i   ++)  
  {  
          Total(i,nMax);  
  }  
  ...  
  }  
 

NO.5   作者: rainbow1216

int   calc(int   n)  
  {    
  int   s=0;      
  for(int   i=1;   i<=n;   i++)s+=i;    
  return   s;  
  }

NO.6   作者: bubblepop

题目是让你写算法,又不是让你用程序实现啊  
   
 

NO.7   作者: qingdong

total=(1+n)*n/2

NO.8   作者: Hot_Forever

用公式吧,这样的话效率是最高的  
  sum=(n+1)*n/2

NO.9   作者: Anders911

楼上说的合适

NO.10   作者: 19830711

int   calc(int   n)  
  {    
  int   s=0;      
  for(int   i=1;   i<=n;   i++)s+=i;    
  return   s;


    摘要: 如题 ......
» 本期热门文章:

©2000-2007 All Rights Reserved. 最佳浏览:1024X768 MSIE