• [问题求助] 上海西南片区高校所有师生免费提供2万台云电脑终身免费使用怎么领取
    看到华为为上海交通大学与上海西南片区高校所有师生免费提供2万台云电脑终身免费使用  https://mp.weixin.qq.com/s/WhsXuHMn4Z5aUIdqFwyfog,上个月就进去按步骤走了,认证了学生,但是为什么还是显示160个小时,不是终身免费吗
  • [新闻速递] 请问,如何获得 华为开发者大会 主题演讲的 文本内容和ppt
    请问,如何获得  华为开发者大会  主题演讲的   文本内容和ppt
  • [课程学习] 今晚19:00CANN训练营特邀直播,入门开发者不容错过!
    扫码参与报名完成认证考核、学习笔记赢取华为手机!
  • [区域初赛赛题问题] 有没有成功参赛奖或者参赛证明啊
    比赛太卷了,想问问除开区域三等奖外,有没有类似于成功参赛奖或者参赛证明啊
  • [问题求助] 大数据学习
    大数据学习有没有推荐的资料呀?适合小白的那种
  • [交流分享] 基于 MPI 实现埃拉托斯特尼筛法及性能优化
    埃拉托斯特尼筛法(sieve of Eratosthenes),简称埃氏筛,也称素数筛,是简单且历史悠久的筛法,用来找出一定范围内所有素数。在寻找整数N以内的素数时,古希腊数学家埃拉托斯特尼采用了一种与众不同的方法:先将2-N的各数写在纸上:在2的上面画一个圆圈,然后划去2的其他倍数;第一个既未画圈又没有被划去的数是3,将它画圈,再划去3的其他倍数;现在既未画圈又没有被划去的第一个数是5,将它画圈,并划去5的其他倍数……依此类推,一直到所有小于或等于N的各数都画了圈或划去为止。这时,画了圈的以及未划去的那些数正好就是小于N的素数。 接下来贴出详细代码: #include "mpi.h" #include "math.h" #include "stdio.h" #include "stdlib.h" #include "string.h" #include "error.h"  using namespace std;  #define BLOCK_LOW(id, p, n) ((id) * (n) / (p)) #define BLOCK_HIGH(id, p, n) (BLOCK_LOW((id) + 1, p, n) - 1) #define BLOCK_SIZE(id, p, n) (BLOCK_LOW((id) + 1) - BLOCK_LOW(id)) #define BLCOK_OWNER(index, p, n) (((p)* (index) +1 ) -1 / (n)) #define MIN(a, b) ((a)<(b)?(a):(b))  int main(int argc, char *argv[]) {     int count;              /* Local prime count */     double elapsed_time;    /* Parallel execution time */     int first;              /* Index of first multiple */     int global_count;       /* Global prime count */     int high_value;         /* Highest value on this proc */     int id;                 /* Process ID number */     int index;              /* Index of current prime */     int low_value;          /* Lowest value on this proc */     char *marked;           /* Portion of 2,...,'n' */     int n;                  /* Sieving from 2, ..., 'n' */     int p;                  /* Number of processes */     int proc0_size;         /* Size of proc 0's subarray */     int prime;              /* Current prime */     int size;               /* Elements in 'marked' */     int low_index;          /* Lowest index on this proc */     int high_index;         /* Highest index on this proc */       MPI_Init(&argc, &argv);     MPI_Comm_rank(MPI_COMM_WORLD, &id);     MPI_Comm_size(MPI_COMM_WORLD, &p);     MPI_Barrier(MPI_COMM_WORLD);      elapsed_time = -MPI_Wtime();      if (argc != 2) {         if (!id) printf("Command line: %s <m> \n", argv[0]);         MPI_Finalize();         exit(1);     }      n = atoi(argv[1]);                                                int N = n - 1;     low_index = id * (N / p) + MIN(id, N % p);                       high_index = (id + 1) * (N / p) + MIN(id + 1, N % p) - 1;        low_value = 2 + low_index;                                       high_value = 2 + high_index;                                     size = high_value - low_value + 1;       proc0_size = (n - 1) / p;      if ((2 + proc0_size) < (int) sqrt((double) n)) {         if (!id) printf("Too many processes \n");         MPI_Finalize();                                                  exit(1);     }      marked = (char *) malloc(size);                                  if (marked == NULL) {         printf("Cannot allocate enough memory \n");         MPI_Finalize();         exit(1);     }      for (int i = 0; i < size; i++) marked[i] = 0;      if (!id) index = 0;      prime = 2;     do {                                                                 if (prime * prime > low_value) {             first = prime * prime - low_value;         } else {             if (!(low_value % prime)) first = 0;             else first = prime - (low_value % prime);                    }         for (int i = first; i < size; i += prime) marked[i] = 1;         if (!id) {             while (marked[++index]);             prime = index + 2;         }          if (p > 1) {             MPI_Bcast(&prime, 1, MPI_INT, 0, MPI_COMM_WORLD);         }      } while (prime * prime <= n);      count = 0;     for (int i = 0; i < size; i++)         if (marked[i] == 0) {             count++;         }     MPI_Reduce(&count, &global_count, 1, MPI_INT, MPI_SUM, 0, MPI_COMM_WORLD);      elapsed_time += MPI_Wtime();      if (!id) {         printf("%d primes are less than or equal to %d \n", global_count, n);         printf("Total elapsed time: %10.6f\n", elapsed_time);     }     MPI_Finalize();      if (!id){         char filename[50] = "result.txt";         FILE *fp;         if ((fp = fopen(filename,"a+")) == NULL){             printf("fail to open file");             exit(0);         }         fprintf(fp, "%d %d %10.6f\n", p, n, elapsed_time);              fclose(fp);     }      return 0; } 
  • [问题求助] AI智能的痛点在哪
    想把智能机器人和教育结合,有什么好的解决方案
  • [热门活动] 华为云开发者创新中心首次落户祖国西北角
    2023年2月22日华为开发者创新中心成员走进新疆 为克拉玛依职业技术学院与华为云计算技术有限公司共建的华为云开发者创新中心落地赋能。学院与华为深化数字人才培养合作,加强实践教学体系建设,依托华为云、HarmonyOS和HMS技术底座,打造集“教、学、展示、互动” 一体化的创新中心,从专业知识、技术能力、职业素养等多维度加持,提高学生就业竞争力,为国产自主可控的数字产业培养创新应用型人才。实训平台》通过HarmonyOS技术实训平台,系统化学习HarmonyOS整体架构,融合多维度的HarmonyOS应用场景体验,深入了解国产操作系统原理。结合操作系统分布式特性,实现多设备间硬件互助、资源共享;进行跨设备间业务流转,实现多设备间无缝获取文件。围绕可定制的开源操作系统和多款开发模组应用场景,满足多形态下终端设备对操作系统的要求。华为专家现场为师生赋能克拉玛依职业技术学院书记实地参观指导华为开发者创新中心是基于华为产业实践,以华为云开放能力为依托,围绕HMS应用生态、HarmonyOS软硬件生态,打造的学习、认证、职业发展一站式产教融合平台,融合专业人才培养方案制定、教学师资培训、课程体系建设、学生实习就业为一体,形成从学生入学到毕业就业,整个国产化数字技术人才培养体系的全栈解决方案。中心能够全链条提升高校课程体系的先进性、教学师资与市场需求的匹配度、学生实习就业方向的确定性,同时整合华为上下游企业人才需求对接高校,助力高校学生就业。未来,华为与克拉玛依职业技术学院将依托该中心,围绕人才培养、产业发展、科研创新等方面推动产教深度融合、校企深度合作,专注”育、聚、留、用” 持续助力江西数字人才培养与经济发展,构建数字人才生态标杆,为当地软件产业发展增添新动能。
  • [问题求助] 请教子脚本如何能获取到主脚本打开的excel对象?
    当前在主脚本通过excelApplicationScope控件打开了一个excel文件,并设置了对象名,但在子脚本中却无法找到主脚本的这个excel对象名