我已经解决了一个问题:
给定一个自然数n(1 <= n <= 500000),请输出所有适当除数的总和.
定义:自然数的适当除数是严格小于数的除数.
例如,数字20有5个适当的除数:1,2,4,5,10,除数求和为:1 + 2 + 4 + 5 + 10 = 22.
输入
一个整数,表示测试用例的数量(大约等于200000),后面跟着许多行,每个行包含1到500000之间的一个整数.
产量
每行一个整数:分别给出的整数的除数和.
例
样本输入:
3
2
10
20
样本输出:
1
8
22
我的代码如下:
/* @BEGIN_OF_SOURCE_CODE */
#include <stdio.h>
#include <stdlib.h>
int main(int argc, const char * argv[])
{
int sum = 0,
cases = 0,
i, j, buff;
scanf("%d", &cases); //Number of tests
int *n;
n = (int*) malloc(cases * sizeof(int)); //Defining array for numbers to be tested///////
for (i …Run Code Online (Sandbox Code Playgroud)