永发信息网

C++实现数字填充

答案:4  悬赏:60  手机版
解决时间 2021-03-31 21:29
  • 提问者网友:且恨且铭记
  • 2021-03-31 03:09
C++实现数字填充
最佳答案
  • 五星知识达人网友:舍身薄凉客
  • 2021-03-31 04:42
假设填充的比特数为m。

1、如果填充的比特处于低位
如果不能办到,说明两个素数之间的间隔超过了2^m。当m较小时,这是有可能发生的。当m较大时,从数值结果(http://primes.utm.edu/notes/GapsTable.html,https://en.wikipedia.org/wiki/Prime_gap)来看,在<2^80的量级应该不会发生,因而是可以办到的。只需要随机填充,然后做素性检测。
2、如果填充的比特在高位,则可能办不到。例如2^79-1,只有一个比特可以填充,如果填0,就是2^79-1;如果填1,则为2^80-1。都不是素数。
3、填充的比特在任意位置,这个我也不知道了~
全部回答
  • 1楼网友:老鼠爱大米
  • 2021-03-31 07:51
可以,比如说把int 放入 long long int.追问不太懂......追答强制转换
  • 2楼网友:由着我着迷
  • 2021-03-31 06:37
还要保证是素数!!!
额,估计比较难,从哪儿来的题目
  • 3楼网友:酒安江南
  • 2021-03-31 06:20
最好是用指针,不过如果只做这一个事情的话就用下面的最简单的办法
#incluce
using namespqce std
int main()
{
int M, N;
cout<<"input the dim M:"< cin>>M;
cout<<"input the dim N:"< cin>>N;
int mat[M][N];
for(int i=0;i for(int j=0;j mat[i][j]=i*N+j+1;
cout<<"construction completed"<return 0;
}
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯