• 一天一道算法题--6.9--数学题


    感谢微信平台----一天一道算法题---------每天多一点进步----

    今天 刚刚又玩了2盘 LOL  把我的时间全给弄光了.....

    因为 晚上 可能开始写课程设计了 抓紧时间 写了今天的

    关于那个 stack的 感觉超出我预期想象了 得压几天了 哎..

    problem:

      求和为指定数字的连续正整数序列

      for example:

        Sn = 100时

        18 19 20 21 22

        9 10 11 12 13 14 15 16

    analyse:

      有事  先撤.....

      刚刚头太痛 眼睛太酸了 应该是每晚太晚睡了....  白天 又要早起 早自习 虽然 经常一睡就到9点了.....

      好 回到这题

      晓爷 说我英语他渣 怎么过6J  所以 我决定 今天 代码的注释 都用 英文来实现.... 为6J准备...

      这题的关键是 把握住 等差数列求和的转换 注意到可以转换成一次线性方程

      好 我下面上demo....

      

     1 // give a sum and n
     2 // so the arr is from 1 to n
     3 // sum = n*(a1+an)/2 = na1 + n*(n-1) / 2;
     4 // so a1 = ( sum - n(n-1)/2 )/n
     5 
     6 #include <iostream>
     7 using namespace std;
     8 
     9 void slove( int sum , int n )
    10 {
    11     int i , value , cnt , first;
    12     if( sum<=0 || n<=0 )
    13         return;
    14     cnt = 0;
    15     i = 1;
    16     value = sum - i*(i-1)/2;
    17     while( value>=i ) // because a1 = ( sum - n*(n-1)/2 ) /n  if this can be worked the value must >= n and because the element must >=1 you know the arr is from 1 to n
    18     {
    19         if( value%i==0 ) // the element is integer
    20         {
    21             first = value/i;
    22             printf( "the %d arr:  ",cnt+1 );
    23             for( int j = first ; j<first+i ; j++ )
    24             {
    25                 printf( "%d	",j );
    26             }
    27             printf( "
    " );
    28         }
    29         i++;
    30         cnt++;
    31         value = sum - i*(i-1)/2;
    32     }
    33     printf( "cnt: %d
    ",cnt );
    34 }
    35 
    36 int main()
    37 {
    38     int sum , n;
    39     while( ~scanf("%d %d",&sum,&n) )
    40     {
    41         slove( sum , n );
    42         getchar();
    43     }
    44     return 0;
    45 }
    View Code


    因为 已经是第二天了 那就顺便给出今日的一句话 或是 一段话

    today:

      you are the apple of my eye.

      经历过你对我的喜欢,我就会觉得别人对我的喜欢,没法和你相比。被你喜欢过,很难觉得别人有那么喜欢我。

      i     miss    you  

          bye    bye

    just follow your heart
  • 相关阅读:
    mysql 行号
    java 异常链
    springsecurity密码加密
    java 四舍五入
    ArrayList的使用及原理
    java 匿名内部类
    java 克隆
    logback的配置
    信号量 Semaphore
    障碍器 CyclicBarrier
  • 原文地址:https://www.cnblogs.com/radical/p/3778956.html
Copyright © 2020-2023  润新知