头歌第5部分 函数

我亦无他,惟手熟尔                                                                                     ------【宋】欧阳修

青春年少时,我并不曾懂得自己那些快意活法,都是来自父母的躬身托起。

我迷席慕蓉的诗,为赋新词强说愁,唯独没想过父母的辛苦和劳累。

众生皆苦,没有人会被命运额外眷顾。

如果你活得格外轻松顺遂,一定是有人替你承担了你该承担的重量。          --------苏心
        

目录

1.求和

2.回文数计算

3.编写函数表达式的值

4.阶乘数列

5.亲密数

6.公约公倍数


1.求和

描述

代码如下:

#include<stdio.h>
//编写函数
/*********Begin*********/
int summation(int n)
{
    int sum = 0;
    for(int i = 1; i <= n; i++){
        sum += i;
    }
    printf("%d\n",sum);
}
/*********End**********/ 
int main(void)
{  
    /*********Begin*********/
    int n;
    scanf("%d",&n);
    summation(n);

    /*********End**********/ 
    return 0;
}

2.回文数计算

描述

 

代码如下:

#include<stdio.h>
void solve(){
    /*********Begin*********/
        for (int i = 200;i < 3000; i++){
            if(i%10 !=0){
                if((i/100 == i%10)||((i/1000 == i%10)&&(i/100%10 == i/10%10))){
                    printf("%d\n",i);
                }
            }
        
        }

    /*********End**********/ 
}
int main(void)
{  
    solve();
   return 0;
}

3.编写函数表达式的值

描述

 

代码如下:

#include<stdio.h>
//编写题目要求的函数
/*********Begin*********/
float Value(int n )
{
    double sum=1;
    double s=1.0, m=1.0;//s 分子 m 分母
    if(n >=1){
        for(int i = 1;i <= n;i++){
            s *= 1*i;
            m *= 2*i+1;
            sum += s/m;     
        }
    }else printf("你的输入有误,请重新输入");
    printf("%.10f",sum);
}


/*********End**********/ 
int main(void)
{  
    /*********Begin*********/
    int b;
    scanf("%d",&b);
    Value(b);

    /*********End**********/ 
    return 0;
}

4.阶乘数列

描述

 

代码如下:.

#include<stdio.h>
//编写函数 计算单独一项的阶乘
/*********Begin*********/
long long function(int n)
{
    long long sum = 1;//单独一项的阶乘
    for(int j = 1;j <= n;j++)
    {
        sum *= j;
    }
    return sum;
   
}

/*********End**********/ 
int main(void)
{  
    /*********Begin*********/
    int num;//输入的整数
    long long fact = 0;//接收阶乘数列之和
    scanf("%d",&num);
    
    //计算阶乘数列之和
    for (int i = 1; i <= num ;i++)
    {
        fact += function(i);
    }
    printf("%lld\n",fact);

    /*********End**********/ 
    return 0;
}

5.亲密数

描述

 

代码如下:

#include<stdio.h>
void solve(){
    /*********Begin*********/
    int a,b,i,j,s;
    for(int a = 1;a<3000;i++)//1-3000
    {
        //将整数a的全部因子之和相加得到b
        for( b=0,i = 1;i <= a/2;i++)
        {
            if(!(a%i))
            {
                b += i;
            }
        }
        //将整数b的全部因子之和相加得到s
        for(s=0,j=1;j <= b/2;j++)
        {
            if(!(b%j))
            {
                s += j;
            }
        } 
        //如果s等于a且 a小于s,则为亲密数
        if(a == s && a < s)
        {
            printf("(%d,%d)",a,s);
        }       
        
    }

    /*********End**********/ 
}
int main(void)
{  
    solve();
    return 0;
}

6.公约公倍数

描述

 

代码如下:

#include<stdio.h>
//编写最大公约数GCD函数
/*********Begin*********/
long long gcd(long long m, long long n)
{
    int z;
    //保证前一个数大于第二个数
    if(m<n)
    {
        z = m;
        m = n;
        n = z;
    }
    //使用辗转相除法实现求两个数的最大公约数
    while(n != 0)
    {
        z = m % n;
        m = n;
        n = z;
    }
    return m;
}

/*********End**********/ 

//编写最小公倍数LCM函数
/*********Begin*********/
long long lcm(long long m, long long n)
{
    return m*n/gcd(m,n);
}


/*********End**********/ 
int main(void)
{  
    /*********Begin*********/
    long long a,b;
    scanf("%lld %lld",&a,&b);
    if(a<0 || b<0)
    {
        printf("Input Error");
    }else printf("%lld %lld",gcd(a,b),lcm(a,b));

    /*********End**********/ 
    return 0;
}

警示:哪有什么岁月静好,不过是有人替你负重前行,生活从来都不容易

  • 9
    点赞
  • 64
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

obsidianer

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值