Форум программистов, компьютерный форум CyberForum.ru

Помогите найти ошибку - C++

Восстановить пароль Регистрация
 
sashqa93
0 / 0 / 0
Регистрация: 17.12.2011
Сообщений: 14
14.04.2012, 19:27     Помогите найти ошибку #1
Программа быстрого возведения в степень.препод сказал, что одна ошибка из-за которой не работает прога.помогите найти

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#include <stdio.h>
#include <math.h>
#include <conio.h>
#include <stdlib.h>
#include <iostream.h>
int main(){
 int p,a,s;
 int y,t,x;
 char buf[100];
 cout<<"vvedite chislo:\n";
 cin>>a;
 cout<<"\nvvedite stepen:\n";
 cin>>x;
 cout<<"\nvedite p:";
 cin>>p;
 itoa(x,buf,2);
 t=log2(x);
 s=a;
 y=1; 
      for(int i=0;i<=t;i++)
      {
                       if(buf[i]==1) y=(y*s)%p;
                       s=(s*s)%p;}
                       cout<<"\n="<<y;
       getch();                
       return y;
                        
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.04.2012, 19:27     Помогите найти ошибку
Посмотрите здесь:

C++ помогите найти ошибку.
C++ Помогите найти ошибку
помогите найти ошибку C++
Помогите найти ошибку C++
Помогите найти ошибку C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
001_alex
9 / 13 / 1
Регистрация: 07.04.2012
Сообщений: 56
14.04.2012, 22:39     Помогите найти ошибку #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#include <stdio.h>
 #include <math.h>
 #include <conio.h>
 #include <stdlib.h>
 #include <iostream.h>
 int main(){
 int p,a,s;
 int y,t,x;
 char buf[100];
 cout<<"vvedite chislo:\n";
 cin>>a;
 cout<<"\nvvedite stepen:\n";
 cin>>x;
 cout<<"\nvedite p:";
 cin>>p;
 itoa(x,buf,2);
 t=log2(x);
 s=a;
 y=1; 
 for(int i=0;i<=t;i++)
 {
 if(buf[i]==1) y=(y*s)%p;
 s=(s*s)%p;}
 cout<<"\n="<<y;
 getch(); 
 return y;
 }
Ошибка в 17-й строчке вместо t=log2(x); надо t=log(x);, или это опечатка!
sashqa93
0 / 0 / 0
Регистрация: 17.12.2011
Сообщений: 14
14.04.2012, 22:46  [ТС]     Помогите найти ошибку #3
все равно выдает результат который и был,неправильный
001_alex
9 / 13 / 1
Регистрация: 07.04.2012
Сообщений: 56
14.04.2012, 23:20     Помогите найти ошибку #4
Цитата Сообщение от sashqa93 Посмотреть сообщение
все равно выдает результат который и был,неправильный
Что за число р, что оно делает?

Добавлено через 27 минут
Понял, что за число
Yandex
Объявления
14.04.2012, 23:20     Помогите найти ошибку
Ответ Создать тему
Опции темы

Текущее время: 13:04. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru