ارسال ها
38
لایک ها
3
امتیاز
0
Olympiad گفت
[center:083c2ceff0]
[/center:083c2ceff0]

کد
#include <iostream>
#include <conio.h>
using namespace std;
int f(int k)
  {
    if(k%10==3)
	return 1;
    return 0;
  }
int ip(int k)
  {
    if(k<=1)
	return 0;
    if(k==2)
	return 1;
    for(int i=2;i*i<=k;i++)
	if(k%i==0)
	 return 0;
    return 1;
   }
  int main()
   {
	 int n;
	 cin>>n;
	 for(int i=2;i<=n/2;i++)
	  if(n%i==0&&ip(i)&&!f(i))
	   {
		cout<<"No";
		getch();
		return 0;
	   }
	  cout<<"Yes";
	  getch();
	 return 0;
    }
برنامه ی شما برای N = 1 و اعداد اول ، جواب غلط می دهد چون تا نصف عدد N جلو می روید و حساب می کنید!

این هم کد من برای این سوال!
 

Olympiad

New Member
ارسال ها
1,268
لایک ها
134
امتیاز
0
آقاي شيري سوال بعد ......
(يكم لول( Level ) سوالات رو ببريد بالاتر ) ....
 

rezashiri

Well-Known Member
ارسال ها
1,458
لایک ها
325
امتیاز
83
[center:9d428a8496]
[/center:9d428a8496]برنامه ای بنویسید که n,m را از ورودی گرفته و سپس n عدد از ورودی بگیرد و زیررشته m عنصری آن را پیدا کند به طوری که مجموع عناصر آن ماکزیمم شود.و در خروجی ابتدا ماکزیمم مجموع و سپس زیر رشته چاپ شود.

ورودی
3 5
1 2 3 4 5

خروجی
12
3 4 5
 
ارسال ها
38
لایک ها
3
امتیاز
0
rezashiri گفت
[center:738224edee]
[/center:738224edee]برنامه ای بنویسید که n,m را از ورودی گرفته و سپس n عدد از ورودی بگیرد و زیررشته m عنصری آن را پیدا کند به طوری که مجموع عناصر آن ماکزیمم شود.و در خروجی ابتدا ماکزیمم مجموع و سپس زیر رشته چاپ شود.

ورودی
3 5
1 2 3 4 5

خروجی
12
3 4 5

این هم کد من برای این سوال. امیدوارم که برای تست کیس های عجیب و غریب درست کار کنه
 

Olympiad

New Member
ارسال ها
1,268
لایک ها
134
امتیاز
0
[center:ea092e179e]in snipt

کد
#include <iostream>
#include <conio.h>
using namespace std;
   int b(int a[],int len)
	{
	  for(int i=1;i<=len;i++)
	   for(int j=0;j<len-1;j++)
	    if(a[j]>a[j+1])
		{
		  int k;
		  k=a[j];
		  a[j]=a[j+1];
		  a[j+1]=k;
		}
	}
   int main()
	{
	  int m,n,s=0;;
	  cin>>n>>m;
	  int a[n];
	  for(int i=0;i<n;i++)
	   cin>>a[i];
	  b(a,n);
	  for(int i=n-1;i>=(n-m);i--)
	   s+=a[i];
	  cout<<s<<endl;   
	  for(int i=n-1;i>=(n-m);i--)
	    cout<<a[i]<<" ";
	  getch();
	  return 0;
	}
[/center:ea092e179e]
 
ارسال ها
38
لایک ها
3
امتیاز
0
Olympiad گفت
[center:e6defbcb2c]in snipt

کد
#include <iostream>
#include <conio.h>
using namespace std;
   int b(int a[],int len)
	{
	  for(int i=1;i<=len;i++)
	   for(int j=0;j<len-1;j++)
	    if(a[j]>a[j+1])
		{
		  int k;
		  k=a[j];
		  a[j]=a[j+1];
		  a[j+1]=k;
		}
	}
   int main()
	{
	  int m,n,s=0;;
	  cin>>n>>m;
	  int a[n];
	  for(int i=0;i<n;i++)
	   cin>>a[I];
	  b(a,n);
	  for(int i=n-1;i>=(n-m);i--)
	   s+=a[I];
	  cout<<s<<endl;   
	  for(int i=n-1;i>=(n-m);i--)
	    cout<<a[I]<<" ";
	  getch();
	  return 0;
	}
[/I][/I][/I]​
[/center:e6defbcb2c]


ببین سوال گفته زیر رشته. مگر زیر رشته همان زیر دنباله نیست ؟! اگر هست پس چرا سرت کردی و بعدش اعداد بزرگ را چاپ کردی ؟! و اگر هم که نیست آن وقت من اشتباه کرده ام
 

Olympiad

New Member
ارسال ها
1,268
لایک ها
134
امتیاز
0
Sepehrmousavi گفت
Olympiad گفت
[center:eb7b423802]in snipt

کد
#include <iostream>
#include <conio.h>
using namespace std;
   int b(int a[],int len)
	{
	  for(int i=1;i<=len;i++)
	   for(int j=0;j<len-1;j++)
	    if(a[j]>a[j+1])
		{
		  int k;
		  k=a[j];
		  a[j]=a[j+1];
		  a[j+1]=k;
		}
	}
   int main()
	{
	  int m,n,s=0;;
	  cin>>n>>m;
	  int a[n];
	  for(int i=0;i<n;i++)
	   cin>>a[I];
	  b(a,n);
	  for(int i=n-1;i>=(n-m);i--)
	   s+=a[I];
	  cout<<s<<endl;   
	  for(int i=n-1;i>=(n-m);i--)
	    cout<<a[I]<<" ";
	  getch();
	  return 0;
	}
[/I][/I][/I]​
[/center:eb7b423802]


ببین سوال گفته زیر رشته. مگر زیر رشته همان زیر دنباله نیست ؟! اگر هست پس چرا سرت کردی و بعدش اعداد بزرگ را چاپ کردی ؟! و اگر هم که نیست آن وقت من اشتباه کرده ام
من بنا به چيزي كه از سوال برداشت كردم ، كد زدم .....
اينو بايد از آقاي شيري بپرسيد ....
 
ارسال ها
38
لایک ها
3
امتیاز
0
Substring : در تعریف آمده است که زیر رشته قسمتی از یک رشته است که ترتیب اعضای رشته را به هم نزند. برای مثال ALA زیر رشته ی SALAM است ولی SAM زیر رشته آن نیست!
 

rezashiri

Well-Known Member
ارسال ها
1,458
لایک ها
325
امتیاز
83
تعریف آخر از زیر رشته درسته...

الآن اینترنتم دیال آپ هست نمی تونم برنامه ها رو چک کنم احتمالا درسته.
 

Olympiad

New Member
ارسال ها
1,268
لایک ها
134
امتیاز
0
اينم به خاطر شما !!!!!!!!


كد اصلاح شده :


کد
#include <iostream>
#include <conio.h>
using namespace std;
   int b(int a[],int len)
	{
	  for(int i=1;i<=len;i++)
	   for(int j=0;j<len-1;j++)
	    if(a[j]>a[j+1])
		{
		  int k;
		  k=a[j];
		  a[j]=a[j+1];
		  a[j+1]=k;
		}
	}
   int main()
	{
	  int m,n,s=0,r=0;
	  cin>>n>>m;
	  int a[n],t[n],c[m];
	  for(int i=0;i<n;i++)
	   cin>>a[i];
	  for(int i=0;i<n;i++)
	   t[i]=a[i];
	  b(t,n);
	  for(int i=n-1;i>=(n-m);i--)
	   s+=t[i];
	  cout<<s<<endl;   
	  for(int i=n-m;i<=n-1;i++)
	    {
		 c[r]=t[i];
		 r++;
	    } 
	   for(int i=0;i<n;i++) 
	    for(int j=0;j<m;j++)
		if(a[i]==c[j])
		 cout<<c[j]<<" ";		
	  getch();
	  return 0;
	}
 

Goharshady

New Member
ارسال ها
2,239
لایک ها
166
امتیاز
0
[center:c2d311deb2]You[/center:c2d311deb2]
سلام
من یه مدت نبودم.
خب حالا این برنامه را بنویسید:
برنامه ی شما باید ابتدا n و سپس آرایه ای از n عدد متمایز را از ورودی استاندارد بخواند و سپس تعداد نابه جایی های آرایه را گزارش کند.چون این تعداد ممکن است خیلی زیاد شود باقی مانده ی آن بر ۱۰۰۰۰ (ده هزار) را در خروجی بنویسید

محدودیتها: n حداکثر ۱۰۰۰۰۰ است . همه ی عضو های آرایه مثبت و کوچکتر از 2[SUP]31[/SUP] هستند.
محدودیت زمان: ۴ ثانیه
محدودیت حافظه: ۴ مگابایت
محدودیت حجم کد ارسالی: ۴۰ کیلوبایت
زبانهای قابل پذیرش: C- C99- C++- C# - Python - Bash
لطفا استانداردها را رعایت کنید. هر چیزی که در stderr نوشته شود نادیده گرفته می شود و هر چیزی که از جایی غیر از stdin خوانده شود موجب kill شدن process برنامه ی شما خواهد شد.
(به بیان ساده تر سعی نکنید منو هک کنید!
)



ورودی نمونه:
۳
۳
۲
۱
خروجی:
۳

ورودی نمونه:
۲
۱۱۱۱۱۱
۱۱۱۱۱۱۱۲
خروجی:
۰
 

Goharshady

New Member
ارسال ها
2,239
لایک ها
166
امتیاز
0
[center:bfba74055e]yoU[/center:bfba74055e]
یک نا به جایی در جایگشت p یعنی یک جفت i و j به صورتی که i از j بزرگتر باشد ولی p[SUB]i[/SUB] از p[SUB]j[/SUB] کوچکتر باشد.

 

rezashiri

Well-Known Member
ارسال ها
1,458
لایک ها
325
امتیاز
83
این کد من احتمالا مشکل داره ، نه؟!



کد
#include <iostream>
//#include <conio.h>

using namespace std;

int main()
{
    int a[100000],n,tedad=0;
    
    cin>>n;
    
    for(int i=0;i<n;i++)
		 {
				    cin>>a[i];
				    for(int j=0;j<i;j++)
						{
								    if(a[j]>a[i]) {tedad++; break;}
						}
		 }
   for(int i=0;i<n;i++) 
   if(a[0]>a[i]) {tedad++; break;}   
   
   cout<<tedad<<endl;
   
   //getch();
   return 0;
}
 

Goharshady

New Member
ارسال ها
2,239
لایک ها
166
امتیاز
0
rezashiri گفت
این کد من احتمالا مشکل داره ، نه؟!



کد
#include <iostream>
//#include <conio.h>

using namespace std;

int main()
{
    int a[100000],n,tedad=0;
    
    cin>>n;
    
    for(int i=0;i<n;i++)
		 {
				    cin>>a[I];
				    for(int j=0;j<i;j++)
						{
								    if(a[j]>a[I]) {tedad++; break;}
						}
		 }
   for(int i=0;i<n;i++) 
   if(a[0]>a[I]) {tedad++; break;}   
   
   cout<<tedad<<endl;
   
   //getch();
   return 0;
}
[/I][/I][/I]


Test1:
TLE
Test 2:
WA
Test 3:
TLE
Test 4:
TLE
Test 5:
TLE
Test 6:
TLE
Test 7:
TLE
Test 8:
TLE
Total=0 out of 8

خیلی الگوریتمتون کند هست. ضمنا چرا break می کنید؟

کجا باقی مانده بر ۱۰۰۰۰ می گیرید؟
 

rezashiri

Well-Known Member
ارسال ها
1,458
لایک ها
325
امتیاز
83
Goharshady گفت
rezashiri گفت
این کد من احتمالا مشکل داره ، نه؟!



کد
#include <iostream>
//#include <conio.h>

using namespace std;

int main()
{
    int a[100000],n,tedad=0;
    
    cin>>n;
    
    for(int i=0;i<n;i++)
		 {
				    cin>>a[I];
				    for(int j=0;j<i;j++)
						{
								    if(a[j]>a[I]) {tedad++; break;}
						}
		 }
   for(int i=0;i<n;i++) 
   if(a[0]>a[I]) {tedad++; break;}   
   
   cout<<tedad<<endl;
   
   //getch();
   return 0;
}
[/I][/I][/I]


Test1:
TLE
Test 2:
WA
Test 3:
TLE
Test 4:
TLE
Test 5:
TLE
Test 6:
TLE
Test 7:
TLE
Test 8:
TLE
Total=0 out of 8

خیلی الگوریتمتون کند هست. ضمنا چرا break می کنید؟

کجا باقی مانده بر ۱۰۰۰۰ می گیرید؟
برای خنده این کدو گذاشتم
 

Goharshady

New Member
ارسال ها
2,239
لایک ها
166
امتیاز
0
[center:448bb5f647]voUs[/center:448bb5f647]
یه راهنمایی:
شدیدا به الگوریتم merge sort مربوط می شود.
باید nlgn حل کنید چون n^2 تایم می شه
 

Goharshady

New Member
ارسال ها
2,239
لایک ها
166
امتیاز
0
اسپم نفرستید
 
بالا