• Здраво и добредојдовте на форумот на IT.mk.

    Доколку сеуште не сте дел од најголемата заедница на ИТ професионалци и ентузијасти во Македонија, можете бесплатно да се - процесот нема да ви одземе повеќе од 2-3 минути, а за полесна регистрација овозможивме и регистрирање со Facebook и Steam.

Факторизирање на природниот број n

  • Ја почнал/а темата
  • #1

ace_paun

Intern
15 јануари 2008
16
0
1. Da se Faktorizira prirodniot broj n vnesen preku tastatura.
Objasnuvanje: Faktorizacija na prirodniot broj n e negovo pretstavuvanje kako proizvod na prosti faktori na nekoj stepen.
 

S

pwnz0r1lla
8 март 2007
1,550
52
www.it.com.mk
Код:
int main(){
int broj,i,fact=1;
scanf("%d",&broj);
for(i=1;i<=broj;i++){
    fact *= i;
}
printf("%dn",fact);
return(0);
}
ili so rekurzija (samo funkcija):
Код:
int faktoriel(int n){
if(n==0)
 return 1;
return(n * faktoriel(n-1));
}
 

kirocone

Intern
18 јануари 2008
29
2
Види вака:

Код:
bolean prostBroj(int n){
   int prost=1;
   for(inti=2;i<=n/2;i++){
       if(n%i==0){prost=0;break;}
   }
   if(prost) return true;
   return false;
}
void faktoriziranje(){
   int n;int count=0;
   scanf("%d",&n);
   printf("%d=",n);
   for(int i=n/2;i>1;i--){
      if(prostBroj(i)){
          while(n && n%i==0){
             count++;
             n/=i;
          }
      }
      if(count)printf("%d^%d",i,count);
    count=0;
   }
}
Или можеш наместо да ги печатиш да ги зачууваш во некоја низа, дводимензионална, една колона за бројот, една за степенот.
prostBroj е помошна функција. Главна е faktoriziranje!!!
 

''TcM>>

Intern
6 јануари 2008
961
39
Uff toa nekako mi izglea poslozeni, vaka mislam e najednostavno...:)

int main(int argc, char *argv[])
{
int fact=1;
int n=0;
printf("Vnesi broj:");
scanf("%d", &n);
int i;
for(i=1; i<=n; i++)
fact=fact*i;
printf("\nFaktoriel od brojot %d e: %d\n",n,fact);
system("PAUSE");
return 0;
}
 

Нови мислења

Последни Теми

Статистика

Теми
43,506
Мислења
822,116
Членови
28,046
Најнов член
hittrajkovski
На врв Дно