Olympiad همراه وضعيت:
آفلاين 22 شهريور ماه ، 1388
تعداد ارسالها: 1016 امتياز: 1142
تشکر کرده: 2676 تشکر شده 978 بار در 704 پست
حالت شخصی من:
ارسال شده در:
جمعه، 8 مرداد ماه ، 1389 19:30:40
موضوع مطلب:
اين كد من واسه سوال 117 ..... اما wrong answer ميشه!!!!!!!!!!
نمدونم اشكالش چيه؟!!؟
اگه بگيد ممنون ميشم....
:كد
#include <iostream>
#include <conio.h>
using namespace std;
unsigned long int po(unsigned long int q,unsigned long int w)
{
unsigned long int ans=1;
for(unsigned long int e=1;e<=w;e++)
ans*=q;
return ans;
}
unsigned long int ip(unsigned long int r)
{
unsigned long int flag=1;
for(unsigned long int t=2;t<=r/2&&flag==1;t++)
if(r%t==0)
flag=0;
return flag;
}
unsigned long int te(unsigned long int y)
{
unsigned long int count=0;
if(ip(y))
count=1;
else
{
for(unsigned long int u=2;u<=y/2;u++)
if(y%u==0&&ip(u))
count++;
}
return count;
}
unsigned long int sh(unsigned long int i,unsigned long int o)
{
unsigned long int flag=1,p[te(i)],a[te(i)],s=0,d=0;
if(i==o)
flag=1;
else if(ip(i)==1&&ip(o)==1&&i!=o||te(i)!=te(o))
flag=0;
else
{
if(ip(i))
p[s]=i;
else
{
for(unsigned long int f=2;f<=i/2;f++)
{
if(i%f==0&&ip(f))
{
p[s]=f;
s++;
}
}
}
if(ip(o))
a[d]=o;
else
{
for(unsigned long int g=2;g<=o/2;g++)
{
if(o%g==0&&ip(g))
{
a[d]=g;
d++;
}
}
}
for(unsigned long int h=0;h<te(i);h++)
if(p[h]!=a[h])
flag=0;
}
return flag;
}
int main()
{
unsigned long int m,n,k,count1=0;
cin>>n>>m>>k;
unsigned long int l[n],z=0;
for(int x=1;x<=n;x++)
{
unsigned long int c;
cin>>c;
l[z]=c;
z++;
}
for(unsigned long int v=0;v<n;v++)
if(sh(l[v],k)==1)
if(po(l[v],m)%k==0)
count1++;
cout<<count1;
getch();
return 0;
}
_________________
International Olympiad in Informatics
کاربرانی که برای این ارسال از Olympiad تشکر کرده اند rezashiri
نويسنده
پيغام
navidjalalmanesh با تجربه وضعيت:
آفلاين 17 بهمن ماه ، 1388
تعداد ارسالها: 89 امتياز: 93
تشکر کرده: 25 تشکر شده 83 بار در 52 پست
محل سكونت: تهران
ارسال شده در:
جمعه، 8 مرداد ماه ، 1389 22:45:29
موضوع مطلب:
اگه اشتباه نکنم می یای عدد ها رو به توان می رسونی ولی اعداد به قدری بزرگ می شن که توی long long هم جا نمی شن, برای همین هم Wrong می خوره!
الگوریتم سوال رو rezashiri گفت , باید تجزیه کنی هر عدد رو و ... .
بشین دوباره یه کد تمیز از اول بنویس .
_________________ No pain, No gain
کاربرانی که برای این ارسال از navidjalalmanesh تشکر کرده اند rezashiri
نويسنده
پيغام
rezashiri همراه وضعيت:
آفلاين 28 مهر ماه ، 1388
تعداد ارسالها: 816 امتياز: 879
تشکر کرده: 316 تشکر شده 517 بار در 338 پست
حالت شخصی من:
ارسال شده در:
شنبه، 9 مرداد ماه ، 1389 15:13:42
موضوع مطلب:
من نتونستم کدشو بزنم اگه زحمتی نیست خودتون بنویسید و یه سوال دیگه ترجمه کنید.
_________________ خدایا من در کلبه ی فقیرانه ی خود چیزی را دارم که تو در عرش کبریایی خود نداری من چون تویی دارم و تو چون خود نداری.....
کاربرانی که برای این ارسال از rezashiri تشکر کرده اند Olympiad
نويسنده
پيغام
Olympiad همراه وضعيت:
آفلاين 22 شهريور ماه ، 1388
تعداد ارسالها: 1016 امتياز: 1142
تشکر کرده: 2676 تشکر شده 978 بار در 704 پست
حالت شخصی من:
ارسال شده در:
شنبه، 9 مرداد ماه ، 1389 17:59:08
موضوع مطلب:
سوال 135 sgu :
سوال رو خلاصه مي نويسم!!!!!!!!
اگر n خط در صفحه رسم شود ، صفحه حداكثر به چند ناحيه تقسيم مي شود؟
ورودي : عدد n
خروجي : حداكثر تعداد نواحي
_________________
International Olympiad in Informatics
کاربرانی که برای این ارسال از Olympiad تشکر کرده اند rezashiri
نويسنده
پيغام
navidjalalmanesh با تجربه وضعيت:
آفلاين 17 بهمن ماه ، 1388
تعداد ارسالها: 89 امتياز: 93
تشکر کرده: 25 تشکر شده 83 بار در 52 پست
محل سكونت: تهران
ارسال شده در:
شنبه، 9 مرداد ماه ، 1389 18:29:03
موضوع مطلب:
برای سوال 117
در مورد الگوریتم :
عدد k رو تجزیه می کنیم بعد هر عددی که توی ورودی بهمون دادن می یایم توان عوامل k توی اون عدد رو حساب می کنیم و ضرب در m می کنیم , اگر کمتر از توان اون عامل در خود k شد پس قابل قبول نیست اون عدده و می ریم عدد بعدی .
در مورد کد زدن : کدش سخت نیست که! یه کم لطفا راجع به کد ها فکر کنید (اگه می بینید نمی تونید یه کدی رو بزنید شاید الگوریتمتون الکی پیچیدست) , یه کم وقت بگذارید تا قوی تر بشید .
:كد
#include <iostream>
using namespace std;
const int MAXN = 10000 + 10;
int a[MAXN]; // a[] is the prime factors of k
int t[MAXN]; // t[] is the power of that prime factor
int point;
int n, m, k;
void tajziye_k() {
for (int i = 2; i <= k; i++)
if (k % i == 0)
{
a[point] = i;
while (k % i == 0)
{
t[point]++;
k /= i;
}
point++;
}
}
int main() {
cin >> n >> m >> k;
tajziye_k();
int ans = 0;
int x;
for (int i = 0; i < n; i++)
{
cin >> x;
bool yes = true;
for (int j = 0; j < point; j++)
{
int tavan = 0;
while (x % a[j] == 0)
{
tavan++;
x /= a[j];
}
if (tavan * m < t[j])
{
yes = false;
break;
}
}
if (yes)
ans++;
}
cout << ans << endl;
return 0;
}
اجازه ندید سوال هایی به این خوبی به راحتی براتون بسوزن ! از من گفتن بود :D
_________________ No pain, No gain
کاربرانی که برای این ارسال از navidjalalmanesh تشکر کرده اند rezashiri, Olympiad
نويسنده
پيغام
rezashiri همراه وضعيت:
آفلاين 28 مهر ماه ، 1388
تعداد ارسالها: 816 امتياز: 879
تشکر کرده: 316 تشکر شده 517 بار در 338 پست
حالت شخصی من:
ارسال شده در:
شنبه، 9 مرداد ماه ، 1389 18:33:41
موضوع مطلب:
کد من:(چقدر زیبا )
:كد
#include <stdio.h>
int main()
{
unsigned long int tedadn,n;
scanf("%d",&n);
tedadn=((n*n)/2)+((n+1)/2)+1;
printf("%d",tedadn);
return 0;
}
_________________ خدایا من در کلبه ی فقیرانه ی خود چیزی را دارم که تو در عرش کبریایی خود نداری من چون تویی دارم و تو چون خود نداری.....
کاربرانی که برای این ارسال از rezashiri تشکر کرده اند Olympiad
نويسنده
پيغام
rezashiri همراه وضعيت:
آفلاين 28 مهر ماه ، 1388
تعداد ارسالها: 816 امتياز: 879
تشکر کرده: 316 تشکر شده 517 بار در 338 پست
حالت شخصی من:
ارسال شده در:
شنبه، 9 مرداد ماه ، 1389 18:51:39
موضوع مطلب:
البته می شه از رابطه بازگشتی هم استفاده کرد:
_________________ خدایا من در کلبه ی فقیرانه ی خود چیزی را دارم که تو در عرش کبریایی خود نداری من چون تویی دارم و تو چون خود نداری.....
کاربرانی که برای این ارسال از rezashiri تشکر کرده اند Olympiad
نويسنده
پيغام
Olympiad همراه وضعيت:
آفلاين 22 شهريور ماه ، 1388
تعداد ارسالها: 1016 امتياز: 1142
تشکر کرده: 2676 تشکر شده 978 بار در 704 پست
حالت شخصی من:
ارسال شده در:
شنبه، 9 مرداد ماه ، 1389 21:51:27
موضوع مطلب:
rezashiri مي نويسد:
کد من:(چقدر زیبا )
:كد
#include <stdio.h>
int main()
{
unsigned long int tedadn,n;
scanf("%d",&n);
tedadn=((n*n)/2)+((n+1)/2)+1;
printf("%d",tedadn);
return 0;
}
كدت مگه چقدر زيباست!!!؟؟
كد من زيباتره!!!
:كد
#include <iostream>
using namespace std;
int main()
{
long long n,k;
cin>>n;
k=((n*(n-1))/2)+n+1;
cout<<k;
return 0;
}
_________________
International Olympiad in Informatics
کاربرانی که برای این ارسال از Olympiad تشکر کرده اند rezashiri
نويسنده
پيغام
rezashiri همراه وضعيت:
آفلاين 28 مهر ماه ، 1388
تعداد ارسالها: 816 امتياز: 879
تشکر کرده: 316 تشکر شده 517 بار در 338 پست
حالت شخصی من:
ارسال شده در:
شنبه، 9 مرداد ماه ، 1389 23:09:47
موضوع مطلب:
_________________ خدایا من در کلبه ی فقیرانه ی خود چیزی را دارم که تو در عرش کبریایی خود نداری من چون تویی دارم و تو چون خود نداری.....
کاربرانی که برای این ارسال از rezashiri تشکر کرده اند Olympiad
نويسنده
پيغام
navidjalalmanesh با تجربه وضعيت:
آفلاين 17 بهمن ماه ، 1388
تعداد ارسالها: 89 امتياز: 93
تشکر کرده: 25 تشکر شده 83 بار در 52 پست
محل سكونت: تهران
ارسال شده در:
يكشنبه، 10 مرداد ماه ، 1389 14:59:39
موضوع مطلب:
n تا دومینو داریم (اعداد روی دومینو ها 0 تا 6 است) که روی هر دومینو دو عدد نوشته شده است , می خواهیم این دومینو ها رو به طور افقی در یک ردیف طوری بچینیم که 2 دومینوی مجاور هم , عددهایشان که کنار هم قرار گرفته اند یکسان باشند , همچنین مجاز به چرخاندن دومینو ها نیز هستید .
اگر این کار شدنی است , شماره دومینو ها رو به ترتیب قرار گرفتن در صف در خروجی چاپ کنید , همچنین اگر دومینو ای را چرخانده اید بعد از چاپ شماره اش علامت - و اگر نچرخانده اید علامت + بنویسید .
در صورت امکان ناپذیر بودن No solution چاپ کنید .
_________________ No pain, No gain
کاربرانی که برای این ارسال از navidjalalmanesh تشکر کرده اند rezashiri, Olympiad
نويسنده
پيغام
Olympiad همراه وضعيت:
آفلاين 22 شهريور ماه ، 1388
تعداد ارسالها: 1016 امتياز: 1142
تشکر کرده: 2676 تشکر شده 978 بار در 704 پست
حالت شخصی من:
ارسال شده در:
دوشنبه، 11 مرداد ماه ، 1389 19:37:17
موضوع مطلب:
براي حل اين سوال بايد چيكار كرد؟؟؟؟؟از چي بايد استفاده كرد؟؟؟؟؟؟؟؟؟؟؟
Phone number in Berland is a sequence of
n
digits. Often, to make it easier to memorize the number, it is divided into groups of two or three digits. For example, the phone number
1198733
is easier to remember as
11-987-33
. Your task is to find for a given phone number any of its divisions into groups of two or three digits.
Input
The first line contains integer
n
(
2 ≤ n ≤ 100
) — amount of digits in the phone number. The second line contains
n
digits — the phone number to divide into groups.
Output
Output any of divisions of the given phone number into groups of two or three digits. Separate groups by single character
-
. If the answer is not unique, output any.
براي حل اين سوال بايد چيكار كرد؟؟؟؟؟از چي بايد استفاده كرد؟؟؟؟؟؟؟؟؟؟؟
Phone number in Berland is a sequence of
n
digits. Often, to make it easier to memorize the number, it is divided into groups of two or three digits. For example, the phone number
1198733
is easier to remember as
11-987-33
. Your task is to find for a given phone number any of its divisions into groups of two or three digits.
Input
The first line contains integer
n
(
2 ≤ n ≤ 100
) — amount of digits in the phone number. The second line contains
n
digits — the phone number to divide into groups.
Output
Output any of divisions of the given phone number into groups of two or three digits. Separate groups by single character
-
. If the answer is not unique, output any.