数组的第i个元素的总和

丹尼尔

该程序接收一个整数数组。必须在每一行上输出数组的第i个元素的和。例如,对于这样的数组{1, 2, 3, 4, 5, 6, 7, 8, 9, 10},答案将是这样的:

55 //1+2+3+4+5+6+7+8+9+10
30 //2+4+6+8+10
18 //3+6+9
12 //4+8
15 //5+10
6  //6
7  //7
8  //8
9  //9
10 //10

这是解决此问题的代码:

#include <string.h> 
#include <stdlib.h>
#include <stdio.h> 

int main(void) { 
    int N, i, j, S; 
    scanf("%d",&N); //length of array
    int a[N];
    for(i = 0; i < N; ++i) scanf("%d",&a[i]); 
    for(i = 1; i <= N; ++i) {
        S = 0;
        for(j = 0; j < N; ++j) 
            S += !((j+1)%i) ? a[j] : 0; 
        printf("%d\n",S);
    }
    return 0;
}

我的问题是我的算法不够快。在大数据上,其速度非常低。我试图提出一种算法,该算法将首先递归地计算小数,然后再计算其他数。但是我没有实现它。

请给我一个更优雅的选择来解决这个问题。

管理层收购

简单的修改有助于避免检查所有索引:

for(j = i - 1; j < N; j += i) 
        S += a[j]; 

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

数组的第i个元素的总和

来自分类Dev

如何获得关联数组的第i个元素?

来自分类Dev

分组数组的第n个元素

来自分类Dev

Javascript:采用数组的第n个元素

来自分类Dev

Javascript:采用数组的第n个元素

来自分类Dev

转换数组中的第K个元素

来自分类Dev

Javascript映射数组的第n个元素

来自分类Dev

分组数组的每个第n个元素

来自分类Dev

第k个置换的第i个元素

来自分类Dev

矩阵的第i行乘以向量的第i个元素

来自分类Dev

C确定n维数组中“展平”第i个元素的“未展平”位置

来自分类Dev

如何在数组b中找到第[i]个元素

来自分类Dev

更改 QStringList 的第 i 个元素

来自分类Dev

在python列表中的第7个元素之后插入前7个元素的总和

来自分类Dev

Python-如何从非第0个元素到第x个元素的for循环数组?

来自分类Dev

Scala从数组/ RDD中选择第n个元素中的第n个元素

来自分类Dev

如何使用PHP在JSON数组中打印第1,第3,第5个元素

来自分类Dev

数组中元素的总和

来自分类Dev

数组的元素总和

来自分类Dev

数组中元素的总和

来自分类Dev

数组连续元素总和

来自分类Dev

给定数组中任何两个元素的总和

来自分类Dev

在未排序的数组中搜索3个元素的总和

来自分类Dev

元素的总和到第三个数组

来自分类Dev

数组 groupBy 多个值中 2 个元素的总和

来自分类Dev

如何在数组中找到总和 3 个元素?

来自分类Dev

从n个元素的数组中找到等于或接近其元素总和的2个子数组

来自分类Dev

如何从数组末尾删除第n个元素

来自分类Dev

如何在PHP中访问数组的第N个元素