当前位置: 代码迷 >> C语言 >> 来``大家一起做一做``
  详细解决方案

来``大家一起做一做``

热度:402   发布时间:2007-12-01 12:29:20.0
hehe
这不是菲波那奇数列么?
----------------解决方案--------------------------------------------------------
我也发个 呵呵
#include<stdio.h>
#include<math.h>
void main(void)
{
    int a,b,t,tt,temp;
    scanf("%d,%d",&a,&b);
    t=a+b;
    tt=a-b;
    tt=abs(tt);
    while(t%2)//处理   奇 偶&偶 奇
    {
        tt++;
        break;
    }
    temp=t*(tt/2);
        

    while(!(t%2))//处理   奇 奇& 偶 偶  
    {
        temp+=(t/2);
        break;
    }
    printf("%d\n",temp);
}

a--b共有:  1   5      1  6       2   5     2  6
            奇 奇      奇 偶      偶 奇     偶 偶  

     四种情况。其中奇 偶&偶 奇      奇 奇& 偶 偶   分别需要不同的处理。
----------------解决方案--------------------------------------------------------
我也来个:符合LZ的要求~
#include<stdio.h>
#include<math.h>
int main()
{
    unsigned int a,b;  //输入的两个数
    printf("please input two numbers: ");
    scanf("%d%d",&a, &b);
    int count = abs(a-b);  //记录a,b之间的个数
    unsigned sum=0; //求和
    int j;  
    while((~(a-b))>>7==0) {j=a; break;}//假设a是小值
    while((a-b)>>7==0) {j=b; break;} //假设a是大值
    for(int i=0;i<=count;i++,j++)
        sum=sum+j;

       printf("The result is: %d\n",sum);
    return 0;
}
----------------解决方案--------------------------------------------------------
原帖由 [bold][underline]死了都要C[/underline][/bold] 于 2007-12-1 00:10 发表 [url=http://bbs.bc-cn.net/redirect.php?goto=findpost&pid=1125013&ptid=189649][/url]
求2个int类型的正数之间的连续整数和```

要求:在不能判断``输入2数谁大谁小的情况下```算出结果```


INTPUT : 7     3
                  3     7

OUTPUT:25
                 25 ...

程序代码:

#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int Serialize(int n1, int n2);
int main()
{
    int n1 = 0, n2 = 0;
    printf("输入两个整数(两个整数间用空格隔开):\n");
    scanf("%d %d", &n1, &n2);
    printf("\n和是: %d\n", Serialize(n1, n2));
    system("pause");
    return 0;
}
inline int Serialize(int n1, int n2)
{
    return (n1 + n2) * (abs(n1 - n2) + 1) / 2;
}


[[italic] 本帖最后由 zbqf109 于 2007-12-1 22:35 编辑 [/italic]]
----------------解决方案--------------------------------------------------------
#include<stdio.h>
#include<math.h>

int main()
{
    int a = 0;
    int b = 0;
    int min;
    int max;
    int i;
    int total = 0;

    scanf("%d %d", &a, &b);
    min = ((a+b) - abs(a-b)) / 2;
    max = ((a+b) + abs(a-b)) / 2;

    for ( i = min; i <= max; i++)
    {
        total += i;
    }

    printf("%d\n", total);

    return 0;
}
----------------解决方案--------------------------------------------------------
LS的公式怎么推滴?还有输出函数里面有错~
----------------解决方案--------------------------------------------------------
呵呵
就是普通的数学公式啊
不是推的,是记住的

另外输出哪错了?
请赐教
----------------解决方案--------------------------------------------------------
不是你的,是你LS的~呵呵
----------------解决方案--------------------------------------------------------

他的公式不就是等差数列求和的公式嘛
我没有直接用那个是为了顺便回答楼主怎么知道输入的哪个数大的问题^_^
----------------解决方案--------------------------------------------------------
汗,这么简单的公式我刚才没去想....
----------------解决方案--------------------------------------------------------
  相关解决方案