我必须编写一个程序,输入一个数字并输出它的最高除数,然后输出除数的最高除数,依此类推,直到它达到素数。但我不断收到:“primefinder.exe 中 0x00eb1504 处未处理的异常:0xC0000094:整数除以零。”
我猜是“num%i”导致了它,但“i”不能为零,因为它是“num/2”。
#include <iostream>
using namespace std;
int main(){
unsigned int i=666, num;
cout << "Enter number";
cin >> num;
while(i>1){
i = num/2;
while(num % i == 0){
i--;
}
cout << i << endl;
num=i;
}
cin.get();
return 0;
}
Run Code Online (Sandbox Code Playgroud) 我必须将所有素数加在2,000,000以下,但我的代码给出了错误的结果(1,179,908,154右边是142,913,828,922),因为它与较低的值完美配合,我无法弄清楚什么是错的.
#include <iostream>
using namespace std;
int main(){
unsigned int j, i=2,ans=2, interval=2000000;
while(i<=interval){
i++;
j=2;
while(i!=j){
if(i % j != 0)
j++;
else{
i++; j=2;}
}
if (i>=interval)
break;
cout << i<< endl;
ans+=i;
}
cout << ans;
cin.get();
return 0;
}
Run Code Online (Sandbox Code Playgroud) 我必须为大学做一个程序,我需要使用两个带有树和行数据结构的文件.在开始时,我有一个数据的定义,每个数据结构应该合成:
#define TYPE int
Run Code Online (Sandbox Code Playgroud)
这是在代码中适当实现的.
虽然在这个任务中我需要用最多20个字符的名称填充这些结构,我不想改变我的所有代码使用向量或能够为动态数组分配空间TYPEas char*.
有没有什么方法可以像这样定义一个20 char长的数组呢?
#define TYPE char[20]
Run Code Online (Sandbox Code Playgroud)