每日一题啦(● ̄(エ) ̄●)(尼克切斯定理,等差数列)

简介: 每日一题啦(● ̄(エ) ̄●)(尼克切斯定理,等差数列)

祝大家新的一年幸福安康!

#include<stdio.h>
#include<string.h>
int main(int argc, char const *argv[])
{
    int m = 0;
    char strb[999]={0};
    
    while (scanf("%d", &m) != EOF)
    {
        memset(strb, 0x00, sizeof(strb));//为每次迭代清空代码
        int sum = m*m*m;
        int a1= sum/m - (m - 1);
        sprintf(strb, "%d", a1);
        for (int i = 1; i < m; i++)
        {
            a1 += 2;
            strcat(strb, "+");
            sprintf(strb+strlen(strb), "%d", a1);//使用strlen(strb)可以计算出strb当前的长度(不包括终止字符'\0'),这样你就可以将新字符串附加到strb的末尾,而不是覆盖其他部分。如果不加上strlen(strb),那么新字符串将被附加到strb的起始位置,这可能会导致覆盖strb中的其他内容
        }
        printf("%s\n", strb);
    }
    return 0;
}

下面我们来逐行解释以下代码:

  1. int main(int argc, char const *argv[]):定义主函数,其中argc是命令行参数的数量,argv是命令行参数的数组。
  2. int m = 0;定义一个整数变量m并初始化为0。这个变量将用于存储从标准输入读取的正整数。
  3. char strb[999]={0};定义一个字符数组strb,长度为999,并初始化为0。这个数组将用于存储生成的字符串。
  4. memset(strb, 0x00, sizeof(strb));:使用memset函数将strb数组的所有元素设置为0。关于memset函数的用法,我将放在下面:
  5. int sum = m*m*m;计算整数m的三次方,并将结果存储在变量sum中。
  6. int a1= sum/m - (m - 1);计算一个中间值并将其存储在变量a1中。
  7. sprintf(strb, "%d", a1);将变量a1的值转换为字符串并存储在strb中。
  8. for (int i = 1; i < m; i++)使用for循环,从1迭代到m-1
  9. a1 += 2;:将变量a1的值增加2。
  10. strcat(strb, "+");:将加号"+"添加到字符串strb的末尾。以下说明strcat函数的用法:
  11. sprintf(strb+strlen(strb), "%d", a1);将变量a1的值转换为字符串并添加到字符串strb的末尾。
  12. 这个程序的主要逻辑是根据输入的整数m来生成一个特定的字符串表示形式,并将这个字符串打印出来。这个表示形式是基于以下规则的:首先计算m的三次方,然后根据这个结果和m的当前值来计算一个中间值,最后将这个中间值和其他一些值(每个值都比前一个大2)添加到一个字符串中,并在每个值之间添加加号"+"。

#define  _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main()
{
  int n = 0;
  scanf("%d", &n);
  int sum = 0;
    for (int i = 2;n>0; i+=3) {
          sum += i;
          n--;
    }
  printf("%d", sum);
  return 0;
}
相关文章
|
4月前
|
存储
【题型总结】数位dp(一)
【题型总结】数位dp(一)
47 0
|
7月前
|
移动开发 Shell
蓝桥杯:2020 国赛 例题:天干地支
蓝桥杯:2020 国赛 例题:天干地支
43 0
|
7月前
蓝桥杯:最大公约数 2020省赛 例题:既约分数
蓝桥杯:最大公约数 2020省赛 例题:既约分数
40 0
|
1月前
每日一题(珠玑妙算,两数之和)
每日一题(珠玑妙算,两数之和)
18 1
|
4月前
|
存储 网络架构
【题型总结】数位dp(二)
【题型总结】数位dp(二)
40 0
|
9月前
宝藏例题(欧几里得算法+素数的三种境界………)
宝藏例题(欧几里得算法+素数的三种境界………)
宝藏例题(欧几里得算法+素数的三种境界………)
|
9月前
《蓝桥杯每日一题》递推·AcWing 3777. 砖块
《蓝桥杯每日一题》递推·AcWing 3777. 砖块
50 0
|
9月前
|
机器学习/深度学习
《蓝桥杯每日一题》背包dp·AcWing3382. 整数拆分
《蓝桥杯每日一题》背包dp·AcWing3382. 整数拆分
46 0
|
10月前
|
算法 测试技术 Python
第十二届蓝桥杯《杨辉三角》-二分法
第十二届蓝桥杯《杨辉三角》-二分法
60 0
|
10月前
|
机器学习/深度学习 人工智能 移动开发