烦请大神们看一下这段平方乘算法的代码哪里有问题??

dustin12138 2017-10-15 10:16:31
这段平方乘代码计算总是有错误,请大神们帮忙看看!一运行这个程序就显示程序已停止工作是为什么?
#include <iostream>
#include <cstdlib>

using namespace std;

int main ()
{ int f , a , b , N , i , d , e , Y , g ,j ,c;
int AT1 [1025];
cout <<"请输入底数和指数:"<<endl;
cin >> b ;
cin >> f ;
cout << "请输入除数:" <<endl;//输入变量;
cin >> N ;
a = f;
e = f;
for (i = 1;a / 2 != 0;++i ){a /= 2;}//判断a的二进制表示的位数;
cout << i << '\t' <<endl;
for (c = 0;e / 2 != 0;++c){d = e % 2;//输出二进制数;
e /= 2;
for (j = 1;j < i;++j){AT1 [j] = d;//存储每一位二进制数位;
}
cout << d << '\t' <<endl;}
cout << "1" << '\t' <<endl;
AT1[i] = 1;
Y = 1;
for (g = i;g >> 0;g = g - 1) {Y = ((Y % N) % (Y % N)) % N;
if (AT1[g] == 1) Y = Y * b % N;}//平方乘算法
cout << "余数是:"<< Y;
return 0;
}


...全文
8578 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
江南蜡笔小新 2017-10-19
  • 打赏
  • 举报
回复
我猜是哪里越界了
开源学开源 2017-10-18
  • 打赏
  • 举报
回复
不知道这篇博客可不可以帮到你http://blog.csdn.net/thecentry/article/details/69791757
dustin12138 2017-10-16
  • 打赏
  • 举报
回复
各位大神,我还有最后一个问题:为什么我输入2的 9次方模7总是余4?显然是余1啊!
赵4老师 2017-10-15
  • 打赏
  • 举报
回复
static int AT1 [1025]; 在占用内存空间较大的局部数组声明的前面加static将其从堆栈数据段挪到全局数据段即可避开因局部数组大小超过默认堆栈大小1MB造成程序不能正常运行的问题。
大漠孤雁by 2017-10-15
  • 打赏
  • 举报
回复
for (g = i;g >> 0;g = g - 1) {Y = ((Y % N) % (Y % N)) % N; 改为 for (g = i;g > 0;g = g - 1) {Y = ((Y % N) * (Y % N)) % N;
大漠孤雁by 2017-10-15
  • 打赏
  • 举报
回复
Y = ((Y % N) % (Y % N)) % N; 除数零溢出
dustin12138 2017-10-15
  • 打赏
  • 举报
回复
麻烦各位大神了,被让这个帖子沉了啊
dustin12138 2017-10-15
  • 打赏
  • 举报
回复
不好意思在修改之后还是运行不了。是不是其他地方有问题呀?

65,186

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧