PDA

View Full Version : برنامه مجموع مجذور های کامل یک عدد!!سوال



konkuru
دوشنبه 08 اردیبهشت 1393, 20:25 عصر
سلام به لذنامه سوال شده
که یک عدد n رو از کاربر دریافت کند سپس مجموع مجذور های کامل کوچکتر از n را چاپ کند


یه راه حل بدید ممنون
و اینکه اصلا مجذور کامل چطوری بدست میاد؟؟؟؟؟؟

rahnema1
دوشنبه 08 اردیبهشت 1393, 22:08 عصر
فرض کنید عدد n مساوی با 19 باشه
و مجموع مجذور کامل هم مثلا s باشه

s=1*1+2*2+3*3+4*4
s=1+4+9+16

چون 16 از 19 کوچکتره و عدد بعدی یعنی 5*5 از 19 بیشتر میشه دیگه تا 16 بیشتر ادامه نمی دهیم

konkuru
دوشنبه 08 اردیبهشت 1393, 22:19 عصر
#include<stdio.h>
void main(){
int n,m=1,s=0;
printf("please enter n\n");
scanf("%d",&n);
int i=1;
while(m<n){
m=i*i;
i++;
s+=m;
}
printf("%d",&s);
}


اقا من اینو نوشتم ولی کار نمیکنه مشکلش کجاست؟؟

rahnema1
دوشنبه 08 اردیبهشت 1393, 22:22 عصر
printf("%d",s);

konkuru
دوشنبه 08 اردیبهشت 1393, 22:23 عصر
اره درست شد
ولی خطای منطقی داره
مثلا 19 رو که وارد میکنی جواب میده 55 !!

rahnema1
دوشنبه 08 اردیبهشت 1393, 22:31 عصر
#include<stdio.h>
void main(){
int n,m=1,s=0;
printf("please enter n\n");
scanf("%d",&n);
int i=1;
while((m=i*i)<n){
i++;
s+=m;
}
printf("%d",s);
}

konkuru
دوشنبه 08 اردیبهشت 1393, 22:34 عصر
درست شد
ولی میتونید بگید فرقش با برنامه بنده تو چی بود؟؟
یعنی الان شما اومدید یه بار کمتر ام رو مقایسه کردید نسبت به برنامه بنده درسته؟

rahnema1
دوشنبه 08 اردیبهشت 1393, 22:37 عصر
printf را بذارید داخل حلقه. کاملا روشن میشه

konkuru
دوشنبه 08 اردیبهشت 1393, 22:38 عصر
خیلی ممنون و تشکر