有1,2,3,4,5,6,7,8共八个数字,能组成多少个互不相同且无重复数字的6位质数?统计(显示)所有符合条件的质数的总和、均方根值,并显示按从大到小顺序排序之后的中位数?
2条回答 默认 最新
- 技术专家团-小桥流水 2021-11-12 09:06关注
代码如下:
#include <stdio.h> #include <math.h> //判断数中是否有重复数字,且不含0和9 int isReapeat(int n) { int a[10],i=0,j,t; while(n) { t=n%10; if(t==0 || t==9) return 1; //不能包含0和9 for(j=0;j<i;j++) { if(a[j] == t) return 1; } a[i++]=t; n/=10; } return 0; } //判断是否是质数 int prime(int n) { int i = 2; for (i=2;i<n;i++) { if(n%i==0) return 0; } return 1; } int main() { int a[10000],nmb=0,i; unsigned long long sum =0,st=0; double jfg,zws; for (i=876543;i>=123456;i--) { if (prime(i) && (!isReapeat(i)) ) { a[nmb] = i; //printf("%d ",a[nmb]); st += a[nmb]*a[nmb]; sum += a[nmb]; nmb++; //if(nmb%10==0) // printf("\n"); } } //printf("\n"); //均方根 jfg = sqrt(st/(1.0*nmb)); //中位数 if(nmb%2==0) zws = (a[nmb/2]+a[nmb/2-1])/2.0; else zws = a[(nmb-1)]; printf("质数个数:%d\n",nmb); printf("总和:%lld\n",sum); printf("均方根:%lf\n",jfg); printf("中位数:%g\n",zws); return 0; }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决评论 打赏 举报无用 1
悬赏问题
- ¥15 delphi webbrowser组件网页下拉菜单自动选择问题
- ¥15 wpf界面一直接收PLC给过来的信号,导致UI界面操作起来会卡顿
- ¥15 init i2c:2 freq:100000[MAIXPY]: find ov2640[MAIXPY]: find ov sensor是main文件哪里有问题吗
- ¥15 运动想象脑电信号数据集.vhdr
- ¥15 三因素重复测量数据R语句编写,不存在交互作用
- ¥15 微信会员卡等级和折扣规则
- ¥15 微信公众平台自制会员卡可以通过收款码收款码收款进行自动积分吗
- ¥15 随身WiFi网络灯亮但是没有网络,如何解决?
- ¥15 gdf格式的脑电数据如何处理matlab
- ¥20 重新写的代码替换了之后运行hbuliderx就这样了