|  | 
|  | 
| вернуться в форум | qayerida xato gde awipka...? varf,i:longint; k:1..20; n:1..10;
 s:string;
 begin
 readln(n);
 read(s);
 f:=1;
 k:=length(s);
 for i:=0 to (n div k)-1 do begin
 f:=f*(n-i*k);  end;
 writeln(f); end.
Re: qayerida xato gde awipka...? Послано Sunnat  6 дек 2011 21:05Nargiza sizning xatoyingiz sonni va faktarialni ajratib olishda, va bundan tashqari hisoblash tsiklida n dan 1 ga tomon qadam k shaklida olingRe: qayerida xato gde awipka...? ya'ni.....qandayRe: qayerida xato gde awipka...? hisoblash tsiklida n dan 1 ga tomon qadam k shaklida olinishi kerakxatolik quyidagicha Послано Sunnat  7 дек 2011 16:12sizda menimcha kiritish jarayonida raqam(n) va undov(!) orasida probel(_) qo'ymasdan yozganda xato ishlashi mumkin. shunda undovlarni ham raqam sifatida o'qib s ni uzunligi 0 ga teng bo'lib qoladi. shuning uchun n/l(n bo'lingan s ning uzunligi) n/0 bo'lib qolyapti shunda sizga Crash (integer division by zero) ashibka beryaptiRe: qayerida xato gde awipka...?Re: qayerida xato gde awipka...? Послано Djet  19 июл 2013 01:41#include <iostream>using namespace std;
 int main()
 {
 int n,t,s;
 cin>>n;
 char k[20];
 gets(k);
 s=n;
 t=n%(strlen(k)-1);
 if(t!=0)
 while(n>t)
 { n=n-(strlen(k)-1);
 s*=n; }
 else
 while(n>(strlen(k)-1))
 { n=n-(strlen(k)-1);
 s*=n;
 }
 cout<<s<<endl;
 
 return 0;
 }
 | 
 | 
|