示例#1
0
int zamiana(int sys, char liczba[])
{
  int poz, znak, i, wynik = 0;

  poz = strlen(liczba) - 1;

  if(liczba[0] == '-') znak = 1;
  else znak = 0;
  
  switch(sys)
  {
    case 2:
      for(i = poz; i >= znak; i--)
      {
        if(liczba[i] == '1') wynik += potega(2, poz - i);
      }
      break;
    case 8:
      for(i = poz; i >= znak; i--) wynik += ((int)liczba[i] - 48)*potega(8, poz - i);
      break;
    case 10:
      for(i = poz; i >= znak; i--) wynik += ((int)liczba[i] - 48)*potega(10, poz - i);
      break;
    case 16:
      for(i = poz; i >= znak; i--)
      {
        int hc;

        switch(liczba[i])
        {
          case 'A':
            hc = 10;
            break;
          case 'B':
            hc = 11;
            break;
          case 'C':
            hc = 12;
            break;
          case 'D':
            hc = 13;
            break;
          case 'E':
            hc = 14;
            break;
          case 'F':
            hc = 15;
            break;
          default:
            hc = (int)liczba[i] - 48;
            break;
        }
        wynik += hc*potega(16, poz - i);
      }
      break;
  }

  if (znak == 1) wynik *= -1;
  return wynik;
}
void factorize(long n) {

    srand(time(NULL));
    long randomed = rand() % n;
    //printf("%d\n", randomed);

//	printf("%d --- %d\n", n, randomed);
    if (NWD(n, randomed) > 1) {
        printf("%d --- %d\n", n, NWD(n, randomed));
    } else {
        long r = solveDL(randomed, n);
        if (r == -1) {
            factorize(n);
        } else if (r % 2 == 0) {
            if (NWD(n, potega(randomed, r / 2) + 1) > 1) {
                printf("%d --- %d\n", n, (NWD(n, potega(randomed, r / 2) + 1)));
                cout << n << "---" << NWD(n, potega(randomed, r / 2) + 1) << endl;
            } else if (NWD(n, potega(randomed, r / 2) - 1) > 1) {
                printf("%d --- %d\n", n,(NWD(n, potega(randomed, r / 2) - 1)));
            } else {
                factorize(n);
            }
        } else {
            factorize(n);
        }
    }

}
示例#3
0
int main()
{
  int sys, i;
  char liczba[10];

  printf("\n\n   Wybierz system liczbowy:\n   ( 2 - binarny,\n     8 - oktalny,\n     10 - dziesietny,\n     16 - heksadecymalny )\n   ");
  scanf("%d", &sys);

  printf("\n   Podaj liczbe, ktora chcesz zamienic:\n   ");
  scanf("%s", liczba);
  printf("\n   Wynik:\n   ");

  int wynik = zamiana(sys, liczba);
  char z;
  
  for ( i = 31 ; i >= 0 ; i-- )
  {
    if (wynik & potega(2, i)) z = '1';
    else z = '0';
    if (i == 23) putchar(' ');
    if (i == 15) putchar(' ');
    if (i == 7) putchar(' ');
    putchar(z);
  }
  
  printf("\n\n\n");
  return 0;
}
示例#4
0
文件: 1.c 项目: krzysztofgajda/noty
int potega (int podstawa, int wykladnik) {
  if (wykladnik == 0) {
    return 1;
  }  else {
    return podstawa * potega(podstawa, wykladnik -1);
  }
}
示例#5
0
long long int potega(int n, int k) {
	
	if (k == 1) {
		return 1;
	} else {
		return n * potega(n, k-1);
	}
}
示例#6
0
文件: zad1.c 项目: pwiergowski/prog_c
int potega(int a,int b)
{
	if(b==0)
		return 1;
	else
		a=a*potega(a,--b);
	return a;
}
示例#7
0
int main()
{
    printf("silnia:\n %d", silnia(4));
    printf("\npotega:\n %f", potega(3,3));
    double id=8;
    printf("cos=\n %0.12lf", cos(id));
    return 0;
}
示例#8
0
int main(){
    int n;
    double a;
    puts("Podaj liczbe i jej potege, oddzielajac spacja:\n");
    scanf("%lf %d", &a, &n);

    printf("Otrzymany wynik: %lf\n", potega(a, n));
    printf("Oczekiwany wynik: %lf\n", pow(a, n));
    return 0;
}
示例#9
0
int main()
{
	int n;
	int m;

	scanf ( "%i %i", &n, &m );

	printf ( "%i ^ %i = %i \n", n, m, potega( n, m ) );

	return 0;
}
示例#10
0
long solveDL(long a, long n) {
    long r = 1;

    while (potega(a, r) % n != 1 && r < 10) {
        r++;
    }
    if (r == 10) {
        return -1;
    } else {
        return r;
    }
}
示例#11
0
int main(void) {
  int x, y;
  long long int wynik;

  printf("Obliczanie potęgi\n");
  printf("Wpisz podstawę potęgi: ");
  scanf("%d", &x);
  printf("Wpisz wykładnik potęgi: ");
  scanf("%d", &y);

  wynik = potega(x, y);

  printf("Wynik: %lld\n", wynik);
}
示例#12
0
double cos(double x)
{
    int i=0,p=0;
    double sp=0,s=0;
    do
    {
        i++;
        sp=s;
        double wyraz=potega(x,p)/silnia(p);
        s+=(i%2)?wyraz:-wyraz;
        p+=2;
        printf("p=%d s=%0.20f \n",p,s);
    }
    while((fabs(sp-s))>0.0001);
    return s;
}
示例#13
0
文件: 1.c 项目: 223491/labc
int main() {
  printf("%d^%d = %d\n", 3, 4, potega(3, 4));
  return 0;
}
示例#14
0
文件: zad1.c 项目: pwiergowski/prog_c
int main()
{
	printf("wynik: %d\n",potega(2,9));
}
main()
{
int i, j, x, p, k;
char q;
cout<<"Program napisal:\n Krzysztof Szumny (klasy I A)\n (14.01.2004r.)\n\n\n\n\n\n";
do {
cout<<"Podaj w jakim systemie z przedzialu \[2;34\] bedzie zapisana liczba: ";
i=0;
do {cin>>p;
    if (i==4 && (!(p>=2&&p<=34))){cout<<"\nDla Twojego dobra sam wybralem liczbe systemowa. Bedzie nia liczba 34. Ponadto mam nadzieje, ze tak naprawde nie jestes glupi a dzisiaj masz po prostu zly dzien :) \n"; p=34;}
    if (i!=4 &&(p<2||p>34)){cout<<"\nPodana liczba nie miesci sie w przedziale \[2;16\]. Podaj jeszcze raz w jakim systemie \[2;16\] bedzie zapisana liczba: ";}
    i++;
   }
while(p<2||p>34);
i=0;
k=1;
cout<<endl<<"Podaj liczbe w systemie "<<p<<" wciskajac na koncu kropke i nacisnij enter: ";
do {if (k==0){do {t[k]=0;k++;}
              while (k!=17);
             }
cin>>t[i];
    if (t[i]=='0'){w[i]=0;}
    else {if (t[i]=='1'){w[i]=1;}
          else {if (t[i]=='2'){w[i]=2;}
                else {if (t[i]=='3'){w[i]=3;}
                      else {if (t[i]=='4'){w[i]=4;}
                            else {if (t[i]=='5'){w[i]=5;}
                                  else {if (t[i]=='6'){w[i]=6;}
                                        else {if (t[i]=='7'){w[i]=7;}
                                              else {if (t[i]=='8'){w[i]=8;}
                                                    else{if (t[i]=='9'){w[i]=9;}
                                                         else {if (t[i]=='a'){w[i]=10;}
                                                               else {if (t[i]=='b'){w[i]=11;}
                                                                     else {if (t[i]=='c'){w[i]=12;}
                                                                           else {if (t[i]=='d'){w[i]=13;}
                                                                                 else {if (t[i]=='e'){w[i]=14;}
                                                                                       else {if (t[i]=='f'){w[i]=15;}
                                                                                             else {if (t[i]=='g'){w[i]=16;}
                                                                                                   else {if (t[i]=='h'){w[i]=17;}
                                                                                                         else {if (t[i]=='i'){w[i]=18;}
                                                                                                               else {if (t[i]=='j'){w[i]=19;}
                                                                                                                     else {if (t[i]=='k'){w[i]=20;}
                                                                                                                           else {if (t[i]=='l'){w[i]=21;}
                                                                                                                                 else {if (t[i]=='m'){w[i]=22;}
                                                                                                                                       else {if (t[i]=='n'){w[i]=23;}
                                                                                                                                             else {if (t[i]=='o'){w[i]=24;}
                                                                                                                                                   else {if (t[i]=='p'){w[i]=25;}
                                                                                                                                                         else {if (t[i]=='r'){w[i]=26;}
                                                                                                                                                               else {if (t[i]=='s'){w[i]=27;}
                                                                                                                                                                     else {if (t[i]=='t'){w[i]=28;}
                                                                                                                                                                           else {if (t[i]=='u'){w[i]=29;}
                                                                                                                                                                                 else {if (t[i]=='w'){w[i]=30;}
                                                                                                                                                                                       else {if (t[i]=='x'){w[i]=31;}
                                                                                                                                                                                             else {if (t[i]=='y'){w[i]=32;}
                                                                                                                                                                                                   else {if (t[i]=='z'){w[i]=33;}
                                                                                                                                                                                                        }
                                                                                                                                                                                                  }
                                                                                                                                                                                            }
                                                                                                                                                                                      }
                                                                                                                                                                                }
                                                                                                                                                                          }
                                                                                                                                                                    }
                                                                                                                                                              }
                                                                                                                                                        }
                                                                                                                                                  }
                                                                                                                                            }
                                                                                                                                      }
                                                                                                                                }
                                                                                                                          }
                                                                                                                    }
                                                                                                              }
                                                                                                        }
                                                                                                  }
                                                                                            }
                                                                                      }
                                                                                }
                                                                          }
                                                                    }
                                                              }
                                                        }
                                                   }
                                             }
                                       }
                                 }
                           }
                     }
               }
         }
     i++;
     if (t[0]=='.'){i=0;k=0;}
     if (t[i-1]!='.'&&(w[i-1]>=p||w[i-1]<0)) {cout<<endl<<"Liczba \""<<t[i-1]<<"\" jest nielegalna dla systemu "<<p<<". \nPodaj jeszcze raz liczbe w systemie "<<p<<" wciskajac na koncu kropke i nacisnij enter: ";k=0;t[i]=0;i=0;}
    }
while (t[i-1]!='.'|| i==0);
j=2;
{do {if(j==2)
       {z[j-2]=w[i-j];}
     else {z[j-2]=w[i-j]*potega(p,j-2);}
     j++;
    }
 while (j!=i+2);
}
j=0;
x=0;
do {x=x+z[j];j++;}
while (j!=i-1);
cout<<endl<<"Tej liczbie w systemie dziesietnym odpowiada liczba: "<<x<<"."<<endl;
do {cout<<"\nCzy chcesz wyjsc z programu? \[T\\N\]:";cin>>q;cout<<endl;}
while (!(q=='n'||q=='N'||q=='t'||q=='T'));
}
while (q=='n'||q=='n');
}
int potega(int podstawa, int wykladnik)
{int i;
int pot;
for((pot=1,i=0); i!=wykladnik; i++)
    {pot=pot*podstawa;
        }
 return pot;
}
示例#16
0
main()
{
int i, j, x, p, w[16], z[16];
const int a=10, b=11, c=12, d=13, e=14, f=15;
char q, t[17];
poczatek:
cout<<"Podaj w jakim systemie z przedzialu \[2;16\] bedzie zapisana liczba: ";
i=0;
do {cin>>p;
    if (i==4 && !(p>=2||p<=16)){cout<<"\nDla Twojego dobra sam wybralem liczbe systemowa. Bedzie nia liczba 16 (szesnascie). Ponadto mam nadzieje, ze tak naprawde jestes madry tylko, a dzisiaj masz po prostu zly dzien. \n"; p=16;}
    if (i!=4 &&(p<2||p>16)){cout<<"\nPodana liczba nie miesci sie w przedziale \[2;16\]. Podaj jeszcze raz w jakim systemie \[2;16\] bedzie zapisana liczba: ";}
    i++;
   }
while(p<2||p>16);

i=0;
do {w[i]=0;z[i]=0;i++;}
while (i!=16);
i=0;
cout<<endl<<"Podaj liczbe w systemie "<<p<<" wciskajac na koncu \"k\" i nacisnij enter: ";
do {cin>>t[i];
    if (t[i]=='1'){w[i]=1;}
    else {if (t[i]=='2'){w[i]=2;}
          else {if (t[i]=='3'){w[i]=3;}
                else {if (t[i]=='4'){w[i]=4;}
                      else {if (t[i]=='5'){w[i]=5;}
                            else {if (t[i]=='6'){w[i]=6;}
                                  else {if (t[i]=='7'){w[i]=7;}
                                        else {if (t[i]=='8'){w[i]=8;}
                                              else {if (t[i]=='9'){w[i]=9;}
                                                    else{if (t[i]=='a'){w[i]=10;}
                                                         else {if (t[i]=='b'){w[i]=11;}
                                                               else {if (t[i]=='c'){w[i]=12;}
                                                                     else {if (t[i]=='d'){w[i]=13;}
                                                                           else {if (t[i]=='e'){w[i]=14;}
                                                                                 else {if (t[i]=='f'){w[i]=15;}
                                                                                       else {if (t[i]=='0'){w[i]=0;}
                                                                                             else {if (t[i]=='k'){}
                                                                                                    else {cout<<endl<<"Ta liczba jest nielegalna dla systemu "<<p<<". Podaj jeszcze raz liczbe w systemie "<<p<<" wciskajac na koncu \"k\" i nacisnij enter: ";
                                                                                                         }
                                                                                                  }
                                                                                            }
                                                                                      }
                                                                                }
                                                                          }
                                                                    }
                                                              }
                                                        }
                                                   }
                                             }
                                       }
                                 }
                           }
                     }
               }
         }
     i++;
    }
while (t[i-1]!='k');
j=2;
{do {if(j==2)
       {z[j-2]=w[i-j];}
     else {z[j-2]=w[i-j]*potega(p,j-2);}
     j++;
    }
 while (j!=i+2);
}
j=0;
x=0;
do {x=x+z[j];j++;}
while (j!=i-1);
cout<<"\nTej liczbie w systemie dziesietnym odpowiada liczba: "<<x<<".";
cout<<endl<<endl<<"Nacisnij enter aby wyjsc z programu.";
getchar();
getchar();

}