0
点赞
收藏
分享

微信扫一扫

计算(a+b)的n次方

转角一扇门 2022-05-01 阅读 70
c++

#include<bits/stdc++.h>
using namespace std;
int main(){
    int n,a[10000];
    printf("请输入一个数:\n");
    scanf("%d",&n);
    if(n==0){
        printf("(a+b)^0=1");
        return 0;
    }
    if(n==1){
        printf("(a+b)^1=a+b");
        return 0;
    }
    for(int i=1;i<=n;i++)
        a[i]=0;
    a[0]=1;
    for(int i=0;i<n;i++)
        for(int j=i+1;j>=1;j--)
            a[j]+=a[j-1];
    printf("(a+b)^%d=",n);
    for(int i=0;i<=n;i++){
        if(a[i]>1)    printf("%d",a[i]);
        if(i==0)    printf("a^%d+",n);
        else if(i==n)printf("b^%d",n);
        else if(n-i>1&&i>1)printf("a^%d*b^%d+",n-i,i);
        else if(i>1)printf("a*b^%d+",i);
        else if(n-i>1)printf("a^%d*b+",n-i);
        else printf("ab+");
    }
    return 0;
}

举报

相关推荐

0 条评论