上次考试出的题目,纠结了半天弄不出来,突然发现自己好笨的。 求出1~1000之间的所有能被7整除的树,并计算和输出每5个的和。

解决方案 »

  1.   

    declare @index1 int
    declare @tempindex int
    declare @value1 int
    set @index1=1
    set @value1=7
    set @tempindex=0
    while(@index1<1001)
    begin
    if @index1%@value1=0
    begin
    print @index1
    set @tempindex=@tempindex+1
    print 'tempindex'+convert(nvarchar(36),@tempindex)
    if(@tempindex=5)
    begin
    set @tempindex=0
    print 'value'+convert(nvarchar(36),@index1+(@index1-7)+(@index1-14)+(@index1-21)+(@index1-28))
    print 'value'+convert(nvarchar(36),@index1*5-@value1*10) 
    end

    end
    set @index1=@index1+1
    end/*
    7
    tempindex1
    14
    tempindex2
    21
    tempindex3
    28
    tempindex4
    35
    tempindex5
    value105
    value105
    42
    tempindex1
    49
    tempindex2
    56
    tempindex3
    63
    tempindex4
    70
    tempindex5
    value280
    value280
    */
    if not object_id('tempdb..#testTb') is null
    begin
    drop table #testTb
    end
    create table #testTb
    (
    number int
    )declare @index int
    declare @value int
    set @index=1
    set @value=7
    while(@index<1001)
    begin
    insert into #testTb
    select @index
    set @index=@index+1
    endselect * from  #testTb where number%@value=0
      

  2.   


    int nCount = 0;
    int nSum = 0;
    for(int i=1; i<=1000; i++)
    {
        if (i % 7 == 0)
        {
            nCount++;
            nSum += i;
            if (nCount >= 5)
            {
                Console.WriteLine(nSum);
                nCount = 0;
                nSum = 0;
            }
        }
    }
      

  3.   


    List<int> list=new List<int>();
    for(int i=7;i<=1000;i++)
    {
        if(i%7==0)
            list.Add(i);
        if(list.Count%5==0)
            Console.WriteLine(list[list.Count-1]+list[list.Count-2]+list[list.Count-3]+list[list.Count-4]+list[list.Count-5]);
    }
      

  4.   


    int a = 0, b = 1, c = 0;            for (int i = 1; i <= 1000; i++)
                {
                    a = i % 7;
                    if (a == 0)
                    {
                        Console.Write(i + "+");
                    }
                }
                Console.WriteLine();
                Console.WriteLine("---------------------华丽的分割线------------------");            for (int i = 1; i <= 1000; i++)
                {
                    if (b != 6)
                    {
                        c += i;
                        b++;
                    }
                    else
                    {
                        Console.WriteLine(c);
                        b = 1;
                        c = 0;
                        c += i;
                        b++;
                    }
                }
      

  5.   

    int nCount = 0;
    int nSum = 0;
    for(int i=1; i<=1000; i++)
    {
        if (i % 7 == 0)
        {
            nCount++;
            nSum += i;
            if (nCount >= 5)
            {
                Console.WriteLine(nSum);
                nCount = 0;
                nSum = 0;
            }
        }
    }赞同
      

  6.   

     List<int> d7 = new List<int>();
                List<int> wsum = new List<int>();
                int nCount = 1, nsum = 0;            for (int i = 1; i <= 1000; i++)
                {
                    if (i % 7 == 0)
                    {
                        d7.Add(i);
                    }
                    if (nCount >= 6)
                    {
                        wsum.Add(nsum);
                        nsum = i;
                        nCount = 2;
                    }
                    else
                    {
                        nsum += i;
                        nCount++;
                    }
                }
                Console.WriteLine("被七整除");
                foreach (int i in d7)
                {
                    Console.WriteLine(i.ToString());
                }
                Console.WriteLine("每5个数相加");
                foreach (int i in wsum)
                {
                    Console.WriteLine(i.ToString());
                }
                Console.ReadKey();
      

  7.   

    这样更容易理解。int nCount = 0;
                int nSum = 0;
                for (int i = 1; i <= 1000; i++)
                {
                    if (i % 7 == 0)
                    {
                        Console.Write(" {0}", i);
                        nCount++; nSum += i;
                        if (nCount % 5 == 0)
                        {
                            Console.WriteLine("={0}", nSum);
                            nCount = 0;
                            nSum = 0;
                        }
                    }
                }
                Console.ReadKey();