首页 > 试题广场 >

牛牛学数列4

[编程题]牛牛学数列4
  • 热度指数:24837 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
\hspace{15pt} 请你帮助牛牛计算公式以下公式的结果:
\hspace{23pt}\bullet\, 1 +(1+2)+(1+2+3)+\dots+(1+2+3+\dots+n).

输入描述:
\hspace{15pt}输入一个整数 n(1 \leqq n \leqq 100) 如题意描述。


输出描述:
\hspace{15pt}输出一个整数表示公式计算结果。
示例1

输入

4

输出

20
#include<stdio.h>
int main(){
    int i_input,i_mid_var=1,sum=1;
    scanf("%d",&i_input);
    if(i_input==1) printf("1");
    else
    {
        for(int i=2 ; i <= i_input ; i++)
        {
            i_mid_var = i_mid_var + i;
            sum = sum + i_mid_var;
        }
        printf("%d",sum);
    }
    return 0;
}

发表于 2022-06-15 09:42:38 回复(0)
#include <iostream>
using namespace std;

int main()
{
    long long n;
    cin >> n;
    long long sum = 0;
    long long a = 0, b = 1;
    for (int i = 1; i <= n; i ++ )
    {
        b = i + a;
        sum += b;
        a = b;
    }
    cout << sum << endl;
}

发表于 2022-02-26 14:19:28 回复(0)
// 清爽版,我是新手,别喷!!!
#include <stdio.h>

int main()
{
    int n = 0;
    scanf("%d", &n);
    int sum = 0;    
    for (int i = 1; i <= n; i++)    
    {
        int result = 0;
        for (int ret = 1; ret <= i; ret++)
        {
            result += ret;
        }
        sum += result;
    }
    printf("%d", sum);
    return 0;
}

// 详细解释版
#include <stdio.h>
int main()
{
    int n = 0;
    scanf("%d", &n);
    int sum = 0;    // 统计总和
    for (int i = 1; i <= n; i++)    // 一直循环到 i = n 为止
    {
        int result = 0; // 每次进来都初始化为 0,为了重置下面的 for 循环 上次一次留下来的结果
        for (int ret = 1; ret <= i; ret++) // 每次循环都是从 1 开始加起,因为每次 i++ 的时候,都要从 1 加到 i 当前值为止
        {
            result += ret;
        }
        sum += result; // 把上面 上一次循环的结果 赋值给 sum
    }
    printf("%d", sum);
    return 0;
}
发表于 2025-06-15 16:22:49 回复(0)
#include <stdio.h>
int main()
{
    int n;
    scanf("%d",&n);
    int i=1,count=0,sum=0;
    for(;i<=n;i++)
    {
        count+=i;
        sum+=count;
    }
    printf("%d",sum);

    return 0;
}
发表于 2022-04-24 10:36:52 回复(1)
#include <iostream>
using namespace std;

int main() {
    int n,sum=0,S=0;
    cin>>n;                 //   输人需要计算的整数累加和
    // 1 + (1+2) + (1+2+3) + (1+2+3+...+n)
    for(int i=1;i<=n;i++)
    {
        sum = sum + i;      // 第一部分结果
        S = S + sum;        // 全部结果求和
    }
    printf("%d",S);
    return 0;
}

发表于 2025-10-18 18:52:07 回复(0)

引言

若你会一些数学知识,这道题的解法其实一行代码就能完成。

名称 表达式 求和公式
等差数列

平方和

立方和

三角数的和 / 四面体数
或者是


(本题解法)

这道题的推导

是写出
展开:
分开求和:
代入公式:

化简:

代码


#include <stdio.h>

int main() {
    int n = 0;

    scanf("%d", &n);

    /*
    * 规律:输入整数为 n,表示有 (n - 0) 个 1,(n - 1) 个 2,(n - 2) 个 3,
    * (n - (n - 1)) 个 n。即前 n (n >= 1 && n <= 100)项和为
    * (n - 0) * 1 + (n - 1) * 2 + (n - 2) * 3 + ... + 1 * n,
    * 
    * 因此这是一个三角数的和,即四面体数,这题可表示为求解第 n 个四面体数,
    * 公式:(n * (n + 1) * (n + 2) / 6)
    */
    // for (int count = 0; count < n; count++)
    // {
    //     sum += (n - count) * (count + 1);
    // }

    printf("%d", n * (n + 1) * (n + 2) / 6);

    return 0;
}
发表于 2025-08-07 14:31:39 回复(0)
n=int(input())
num=0
for i in range(1,n+1):
    num+=sum([i for i in range(1,i+1)])
print(num)

发表于 2023-07-28 09:47:20 回复(0)
n=int(input())
p=1<=n<=100
print(n*(n+1)*(n+2)//6 if p else'请满足1≦n≦100的正整数')

发表于 2025-10-30 09:50:51 回复(0)
a=int(input())
sum1=0
sum2=0
for i in range(a+1):
    sum1+=i
    sum2+=sum1
print(sum2)    
发表于 2025-09-23 15:12:35 回复(0)
n = int(input())
Sn = 0

for i in range (1 , n+1):
    for j in range (1, i+1):
        Sn = Sn + j

print (Sn)
发表于 2025-07-13 17:15:54 回复(0)
#include <stdio.h>

int main()
{
    int a=0,b=0,c=0,d=0;
    scanf("%d",&a);
    for(b=1;b<=a;b++)
    {
        c=c+b;
        d=d+c;
    }
    printf("%d",d);
    return 0;
}
发表于 2024-11-30 20:32:52 回复(0)
#include <stdio.h>

int main() {
    int x;
    int sum1,sum;
    sum=0;
    scanf("%d",&x);
    for(int i=1;i<=x;i++){
        sum1=0;
        for(int j=1;j<=i;j++){
            sum1+=j;
        }
        sum+=sum1;
    }
    printf("%d",sum);
    return 0;
}
发表于 2024-11-26 17:12:18 回复(0)
n=int(input())
sum=0

for i in range(1,n+1):
    for j in range(1,i+1):
        sum+=j

print(sum)

发表于 2024-10-21 09:39:51 回复(0)
import java.util.Scanner;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        int n=in.nextInt();
        int a=0;
        for(int i=1;i<=n;i++){
            a=a+(i*(i+1)/2);
        }
        System.out.println(a);
    }
}

发表于 2022-10-30 12:56:07 回复(0)
#include<iostream>
using namespace std;
int main()
{
    int n,sum=0,c=0;
    cin>>n;
    for(int i=0;i<=n;i++)
    {
        for(int j=1;j<=i;j++)
        {
            c=c+j;
        }
        sum+=c;
        c=0;
    }
    cout<<sum<<endl;
}

发表于 2022-03-16 21:52:31 回复(0)
#include <iostream>
using namespace std;

int main() {
    int n,sum=0;
    cin>>n;
   
    for(int i=1;i<=n;i++){
     sum+=i*(n-i+1);
    }
    cout<<sum;
}
发表于 2025-11-26 20:07:30 回复(1)
n=int(input())
s=n*(n+1)*(n+2)//6
print(s)

发表于 2025-11-21 22:50:04 回复(0)
#include <stdio.h>

int main() {
    int n;
    scanf("%d",&n);
    int arr[n][n],sum=0;
   
    for(int i=0;i<n;i++){
        for(int j = 0;j<=i;j++){
             arr[i][j]=j+1;
             sum = arr[i][j] + sum;
        }
    }
    printf("%d",sum);
    return 0;
}
发表于 2025-11-21 20:20:16 回复(0)
import java.util.Scanner;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int n = scanner.nextInt();
        int sum = n*(n+1)*(n+2)/6;
        System.out.println(sum);
    }
}
发表于 2025-11-12 16:09:04 回复(0)
n = int(input())
t = 0
x = []
for i in range(1,n+1):
    t +=i
    x.appe*** = sum(map(int,x))
print(v)

发表于 2025-11-10 21:42:51 回复(0)