当我正在学习C时,我只是经历了一些基本的东西.我遇到了一个问题,即在不使用*运算符的情况下将数字乘以7.基本上就是这样的
(x << 3) - x;
Run Code Online (Sandbox Code Playgroud)
现在我知道基本的位操作操作,但我不知道如何在不使用*运算符的情况下将数字乘以任何其他奇数?这是一般的算法吗?
我正准备接受电话采访.我在互联网上遇到了这些问题.谁能告诉我一些这些好的答案?
假设我给你一个文本文件并要求你编写一个程序,它将从文件中返回一个随机行(所有行必须具有相同的返回概率)
与第1部分相同,除了这次整个文本文件不能适合主存储器
与第2部分相同,除了现在您有一个流而不是一个文件.
请帮忙.
好的...... @每个人,在我问到这个问题之前,我真的有一些想法......看到我的同伴们的无情攻击,我发布了我的答案.请随意攻击他们......
1:计算文件中'\n'的数量.生成1和数字之间的随机数,并返回数字-1'\n'之后的行.
2:将文件逐个部分地存入主存储器,并按照上述步骤进行操作.
3:我对此并不太了解,并希望得到任何意见.
很棒,你们真的给予灵感推进.....
我正在尝试使用Cormen算法教科书编写快速排序算法.以下是我的代码.
class Quicksort
{
public void qSort(int[] a, int p, int r)
{
if(p<r)
{
int q = Partition(a, p,r);
qSort(a, p, q-1);
qSort(a, q+1, r);
}
}
private int Partition(int[] a, int p, int r)
{
int x = a[r];
int i = p-1;
int temp=0;
for(int j=p; j<r-1; j++)
{
if(a[j]<=x)
{
i++;
temp = a[i];
a[i] = a[j];
a[j] = temp;
}
}
temp = a[i+1];
a[i+1] = a[r];
a[r] = temp;
return (i+1);
}
}
public …Run Code Online (Sandbox Code Playgroud) 任何人都可以告诉我如何在C中乘以两个数字数组?数字数组基本上是从包含数字的两个字符串派生的.例如:123456和132465.
编辑:我有两个字符串as S1 = "123456"和S2="132546".然后我将这两个字符串转换为整数数组,即int IS1 [6]和IS2 [6]
IS1[1] = 1, IS1[2] = 2......
Run Code Online (Sandbox Code Playgroud)
和
IS2[1] = 1, IS2[2] = 3.....
Run Code Online (Sandbox Code Playgroud)
现在我必须多了几个这两个arrray.请帮忙.