我需要在非常大的数字(在很长的范围内)之间的间隔上测试素数,所以我需要一些快速算法来检查数字是否为素数.请提出您的想法.
对于给定的整数N和K(1 <= N,K <= 2000000000),您必须找到N ^ K的位数.
有什么配方或什么的吗?因为我试图通过简单地驱动N**K来解决它,但是它不适用于大值,并且程序因为计算而简单地冻结.我正在寻找一些快速的方式,也许像我之前说过的一些数学公式.
我不希望你为我解决这个问题,我只是想问一些想法.
这是下面的输入,它代表一张地图.'x'代表土地,而点 - 水.因此,使用'x',您可以在地图上表示"孤岛".
xxx.x...xxxxx
xxxx....x...x
........x.x.x
..xxxxx.x...x
..x...x.xxx.x
..x.x.x...x..
..x...x...xxx
...xxxxxx....
x............
Run Code Online (Sandbox Code Playgroud)
正如你所看到的,有一些岛屿是封闭的,即如果有一些船在其领土内,它将无法离开,因为:
..xxxxx.
..x...x.
..x.x.x.
..x...x.
..xxxxx.
Run Code Online (Sandbox Code Playgroud)
还有一些开放的岛屿可以摆脱它们,例如:
.xxxxx
.x...x
.x.x.x
.xxx.x
Run Code Online (Sandbox Code Playgroud)
问题在于:对于上面给定的NxM地图,计算任何岛屿的开放状态,以及关闭的数量.
我再说一遍:我不想让你解决它,只需要一些吸气,解决的想法.谢谢
在课堂上我们发现了这个编程问题,目前我们还不知道如何解决它.
n
给出正整数.众所周知n = p * q
,在哪里p
和q
是素数,p<=q
以及|q-k*p|<10^5
某些给定的正整数k
.你必须找到p
并且q
.
输入:
35 1
121 1
1000730021 9
Run Code Online (Sandbox Code Playgroud)
输出:
5 * 7
11 * 11
10007 * 100003
Run Code Online (Sandbox Code Playgroud)
这不是家庭作业,我们只是想解决一些有趣的问题.如果您有一些想法,请在这里发布,以便我们可以尝试一下,谢谢.
我想在C中使用非常快的算法或代码来执行以下任务:对于任何给定的整数N,将所有数字从1加到N,而不假设N是正数.我做了一个从1到N的求和循环,但它太慢了.
我有一些大数字(再次),我需要找到数字的总和是否为偶数.我试过这个:用while循环找到数字的总和,然后检查那个总和%2是否等于0并且它正在工作但对于大数字来说它太慢了,因为我给出了数字间隔,如果输入是1999999 19999999999那么我的程序失败了,我无法在0,1秒的时限内完成.
该怎么办 ?有没有其他更快的方法来做到这一点?
编辑:输入1999999 19999999999意味着它将从1999999开始并检查我上面写的所有数字,直到19999999999,因为我们正在谈论大数字(<2 ^ 30)我的程序是不配的.
我想在C++中编写类似2d字符串的东西.我尝试过:
vector< vector<string> > table;
int m,n,i,j;
string s;
cin>>n>>m;
for(i=0;i<n;i++) {
for(j=0;j<m;j++) {
cin>>s;
table[i][j] = s;
}
}
cout << "\n\n\n\n";
for(i=0;i<n;i++) {
for(j=0;j<m;j++) {
cout<<table[i][j]<<" ";
}
cout<<"\n";
}
Run Code Online (Sandbox Code Playgroud)
没有编译错误,但当我输入如下输入:
10 20
.....#..............
.....#..............
.....#..............
.....#..............
######..............
.......###..........
.......#.#..........
.......###...#######
.............#.....#
.............#######
Run Code Online (Sandbox Code Playgroud)
它给了我分段错误.为什么?怎么了 ?它应该怎么做才能正常工作?谢谢.
我正在阅读一些c ++代码,我看到了一些有趣的东西.
代码是这样的:
repeat:
...code here....
fallback:
...code here....
start:
....another code....
Run Code Online (Sandbox Code Playgroud)
这是我第一次在c ++代码中看到这种"标签",我称之为标签cos我在汇编代码中看到类似的东西,其中代码被分成具有以冒号结尾的不同标题的部分.
我问你这意味着什么,它有什么用?