相关疑难解决方法(0)

使用fread读入int缓冲区

我想知道我是否可以使用fread将数据读入整数缓冲区.我看到fread()将void*作为第一个参数.所以我不能只传递一个整数缓冲区(类型转换为void*)然后使用它来读取我想要的文件中的howmuchevery字节,只要缓冲区足够大?

即.我无法做到:

  int buffer[10];
  fread((void *)buffer, sizeof(int), 10, somefile);
  // print contents of buffer
  for(int i = 0; i < 10; i++)
  cout << buffer[i] << endl;
Run Code Online (Sandbox Code Playgroud)

这有什么不对?

谢谢

c c++ buffer fread

1
推荐指数
1
解决办法
1万
查看次数

所有适当除数的总和

我已经解决了一个问题:
给定一个自然数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)

c performance

1
推荐指数
1
解决办法
9923
查看次数

有没有办法用一些素数的乘法来分割数字

我正在寻找一种算法,它可以帮助我分割数N,就像
N =(p 1 a)(p 2 b) .....*(p n z)

哪里

N is the given number
p is prime numbers smallest to greatest
a,b,..z are the power over the prime
* is the multiplication operation
Run Code Online (Sandbox Code Playgroud)

algorithm primes

0
推荐指数
1
解决办法
118
查看次数

标签 统计

c ×2

algorithm ×1

buffer ×1

c++ ×1

fread ×1

performance ×1

primes ×1