SABB

New Member
ارسال ها
704
لایک ها
25
امتیاز
0
SABB گفت
[center:904cd31d22]

برنامه ای بنویسید که n و سپس دنباله ای از اعداد به طول n گرفته و بررسی کند که این دنباله گرافیک است یا خیر.
[/center:904cd31d22]
هنوز این سوال حل نشده است .
 

Goharshady

New Member
ارسال ها
2,239
لایک ها
166
امتیاز
0
راهش که گفته شد. همون الگوریتم هاول-حکیمی را باید اجرا کنیم.
 

SABB

New Member
ارسال ها
704
لایک ها
25
امتیاز
0
Goharshady گفت
راهش که گفته شد. همون الگوریتم هاول-حکیمی را باید اجرا کنیم.
اجرا کنید

البته... if یی که توی تابع باید باشه معلوم نیس چی باید باشه
 

Goharshady

New Member
ارسال ها
2,239
لایک ها
166
امتیاز
0
بهتون پیشنهاد می کنم قسمت توابع بازگشتی کتاب برنامه نویسی به زبان C از جعفرنژاد قمی رو بخونید تا بفهمید
 

SABB

New Member
ارسال ها
704
لایک ها
25
امتیاز
0
Goharshady گفت
بهتون پیشنهاد می کنم قسمت توابع بازگشتی کتاب برنامه نویسی به زبان C از جعفرنژاد قمی رو بخونید تا بفهمید
میشه بازگشتیش رو لطفا بذارید.
 

Goharshady1

New Member
ارسال ها
37
لایک ها
0
امتیاز
0
سعی ام رو می کنم

آخه هنوز دارم جواب اون تعمیمه رو تایپ می کنم
 

Goharshady

New Member
ارسال ها
2,239
لایک ها
166
امتیاز
0
در اولین فرصت جواب اون بازگشتی رو می ذارم.
این فعلا جواب سوال IOI 95 که راجع به خشایارشا بود:
کد
#include <cstdio>
#include <fstream>
#include <iostream>
using namespace std;
int x,y;
void counting(int i,int j,char castle[101][101])
{
	if(i!=(x-1))
	{
			  if(castle[i+1][j]=='0')
			  {
								castle[i+1][j]='$';
								counting(i+1,j,castle);
			  }
	}
	if(i!=0)
	{
			  if(castle[i-1][j]=='0')
			  {
								castle[i-1][j]='$';
								counting(i-1,j,castle);
			  }
	}
	if(j!=(y-1))
	{
			  if(castle[i][j+1]=='0')
			  {
								castle[i][j+1]='$';
								counting(i,j+1,castle);
			  }
	}
	if(j!=0)
	{
			  if(castle[i][j-1]=='0')
			  {
								castle[i][j-1]='$';
								counting(i,j-1,castle);
			  }
	}
}
int main()
{
    int rooms =0;//number of rooms
    char castle[101][101]={}; //but we use only from 0 to x-1 and from 0 to y-1
    ifstream read("input.txt");
    ofstream write("output.txt");
    read>>x>>y;
    for(int i=0;i<y;i++) read>>castle[i];//reading the map
    for(int i=0;i<=x;i++)
    {
		  for(int j=0;j<=y;j++)
		  {
				if(castle[i][j]=='0')
				{		   
					bool unc = true;
					if(i!=(x-1))
					{
					   //check x+1,y 
					 if(castle[i+1][j]=='$')   unc=false;
					}
					if(i!=0)
					{
					//check x-1,y
					if(castle[i-1][j]=='$')   unc=false;
					} 
					if(j!=(y-1))
					{
					   //check x,y+1
					   if(castle[i][j+1]=='$')   unc=false;
					}
					if(j!=0)
					{
					 //check x,y-1
					if(castle[i][j-1]=='$')   unc=false;
					}
					if(unc)
					{
					rooms++;
					counting(i,j,castle);
					}
					castle[i][j]='$'; //dollar sign indicates a counted room
				}//end of first if
		  }//end of second for
    }//end of first for
    write<<rooms;
    return 0;
}
 

Goharshady

New Member
ارسال ها
2,239
لایک ها
166
امتیاز
0
SABB گفت
Olympiad گفت
برنامه اي بنويسيد كه n را گرفته و
را محاسبه كند. (تابع اويلر)
کد
#include<iostream.h>
#include<conio.h>
using namespace std;
using std::cout;
using std::cin;
unsigned long gcd(unsigned long n,unsigned long m)
{
    unsigned long r=1;
    while(r!=0)
    {
	   r=n%m;
	   if(r!=0)
	   {
		 n=m;
		 m=r;
	   }
    }
    return m;
}
int main()
{
    unsigned long n,i,fi=0;
    cout<<"Enter n:";
    cin>>n;
    for(i=1;i<n;i++)
	  if(gcd(n,i)==1)
		fi++;
    cout<<fi;
    getch();
}
من قبلا اینو ندیده بودم. کد جالبی هست ولی وقتی قرار باشه رو یه ابرکامپیوتر اجراش کنیم!!! درست مثل اولین کد من.
برای این مسئله باید حتما از فرمول استفاده کنیم.
 

Olympiad

New Member
ارسال ها
1,268
لایک ها
134
امتیاز
0
دو تا سوال!!!!!
برنامه اي بنويسيد كه :
1)عمل جمع را با استفاده از آرايه ها انجام دهد .
2)عمل ضرب را با استفاده از آرايه ها انجام دهد.
 

Goharshady1

New Member
ارسال ها
37
لایک ها
0
امتیاز
0
Olympiad گفت
دو تا سوال!!!!!
برنامه اي بنويسيد كه :
1)عمل جمع را با استفاده از آرايه ها انجام دهد .
2)عمل ضرب را با استفاده از آرايه ها انجام دهد.
ضرب رو که قبلا براتون فرستاده بودم. قضیه ی a^b-b^a رو یادتونه؟ سوال 112!!
جمع هم دقیقا همینطوری حل می شه. باز هم اگه می خواهید براتون دوباره می نویسم.
سوالات 3 تایی IEEE دهلی را دیدید؟ این سوالات واقعا ابتکار را می سنجند.
 

Goharshady1

New Member
ارسال ها
37
لایک ها
0
امتیاز
0

Goharshady

New Member
ارسال ها
2,239
لایک ها
166
امتیاز
0
ضمنا سوال اول IEEE با عملگر? حل می شد که اون رو هم می تونید ببینید. تو snipt من هست
 

Goharshady

New Member
ارسال ها
2,239
لایک ها
166
امتیاز
0
فکر می کنم داریم منحرف می شیم ، هی به برنامه های دیگه میریم. همین سوال اینجا رو حل کنیم.
برنامه ای بنویسید که دنباله ای از اعداد را از ورودی گرفته و مشخص کند که آن دنباله گرافیک است یا نه. (همان الگوریتم هاول - حکیمی)
 

Goharshady

New Member
ارسال ها
2,239
لایک ها
166
امتیاز
0
SABB گفت
Goharshady گفت
SABB گفت
[center:2a827f974f]
1
برنامه ای بنویسید که n و سپس دنباله ای از اعداد به طول n گرفته و بررسی کند که این دنباله گرافیک است یا خیر.
[/center:2a827f974f]
شرط لازم و کافی برای گرافیک بودن یک دنباله چیست؟
دنباله
(
) گرافیکه اگر و فقط اگر دنباله
گرافیک باشه.
این هم جواب این سوال: توجه کنید که تابع isGraphic چند بار خودش را فراخوانی می کند و این یعنی تابع بازگشتی.
تابع isGraphic اگر همه ی اعداد 0 باشند ، true بر می گرداند ، در غیر اینصورت طبق الگوریتم هاول-حکیمی کار می کند. دو تا سنسور هم داریم که اگر جمع اعداد فرد باشد یا عددی از n-1 بزرگتر باشد ، مستقیما false می دهد و روند بازگشتی را متوقف می کند.(برای سریعتر شدن)
به جای n از x استفاده کردم.
راستی یادم رفت!
جوابشو از snipt من بگیرید.
http://snipt.net/Goharshady/is-this-series-graphic
 

Goharshady1

New Member
ارسال ها
37
لایک ها
0
امتیاز
0
حالا دیگه لطفا سوال بعدی را بگذارید
 

rezashiri

Well-Known Member
ارسال ها
1,458
لایک ها
325
امتیاز
83
برنامه ای بنویسید که زیر مجموعه های یک مجموعه را معرفی کند.
 

Goharshady

New Member
ارسال ها
2,239
لایک ها
166
امتیاز
0
rezashiri گفت
برنامه ای بنویسید که زیر مجموعه های یک مجموعه را معرفی کند.
یعنی همه ی زیرمجموعه هاش روچاپ کنه؟
 

Olympiad

New Member
ارسال ها
1,268
لایک ها
134
امتیاز
0
Goharshady گفت
rezashiri گفت
برنامه ای بنویسید که زیر مجموعه های یک مجموعه را معرفی کند.
یعنی همه ی زیرمجموعه هاش روچاپ کنه؟
اگر هم جواب هم ، نه بود ..... اين برنامه رو بنويسيد (زير مجموعه ها رو چاپ كنه)
 

SABB

New Member
ارسال ها
704
لایک ها
25
امتیاز
0
با یه دنباله 0 و 1 حل می شه، نه؟!
 

Goharshady

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