PDA

View Full Version : مبتدی: ایجاد خروجی منظم اعداد



ماری کوری20011
جمعه 19 فروردین 1390, 13:07 عصر
سلام می خواستم ببینم فرمولی برای این که خروجی اینو نشون بده هست 1
121
12321
1234321
12321
121
1 ممنون می شم جوابمو بدید:لبخند:

hi.alir
جمعه 19 فروردین 1390, 16:40 عصر
1*1 = 1
11*11 = 121
111*111 = 12321
1111*1111 = 1234321
11111*11111 = 123454321
111...111*111...111 = 54321...12345
( مربوط میشه به ریاضی دوره ی راهنمایی اگر درست یادم باشه! )

واسه به دست آوردن 11111.... هم می تونید از فرمول زیر استفاده کنید.
((10 به توان n) منفی 1) تقسیم بر نه
که n تعداد 1 هاست.
برای مثال:
10 به توان 8 = 100000000
100000000 منفی 1 = 99999999
99999999 تقسیم بر 9 = 11111111 (هشت تا یک)

NIMA_1981
جمعه 19 فروردین 1390, 18:40 عصر
من یک کد واست نوشتم اما خیلی الکی نوشتم ببین ابن کارتو راه میندازه
شب که برگشتم یک دونه درس حسابی رو مینویسم



#include <stdio.h>
int ff(int);
int fa(int);
int main() {
ff(5);
}
int ff(int n){
int m=0;
if (n==0){
return 0;
}else{
m=fa(n);
int sum=0;
sum=m*m;
printf("%d x %d = %d\n ",m,m,sum);
n--;
ff(n);
}
}
int fa(int number) {
int temp=1;
int temp1=1;
int b;
for (b=1;b<number;b++){
temp=temp*10;
temp1=temp1+temp;
}
return temp1;
}

NIMA_1981
جمعه 19 فروردین 1390, 19:28 عصر
بیا این یک کد با تابغ بازگشتی



#include <stdio.h>
#include <math.h>
int ff(int);
int main() {
ff(10);
}
int ff(int n){
int m;
if (n!=0){
m=(pow(10,n)-1)/(9);
printf("%d x %d\n",m,m);
n--;
ff(n);
}
}

Salar Ashgi
یک شنبه 21 فروردین 1390, 20:12 عصر
ببینید عموما چنین مسائلی با حلقه های تودرتو یا همان Nested Loops حل میشوند و نیازمند فرمول آنچنانی نیستند !
و در غالب موارد ، اگر بخواهیم ساده تر بیان کنیم : در شکل شما که احتمالا لوزی هست ، ابتدا مثلث بالایی رسم میشود و بعد
مثلث پایینی .
بعنوان مثال نمونه ، برای قسمت بالای لوزی :

#include <iostream>
#include <conio>
void space(int n){
for(int i=1;i<=n;i++)
cout<<" ";}
//=======================
int main(){
int k,f=5;
for(int i=1;i<=4;i++){
space(f--);
for(int j=1;j<=i;j++){
cout<<j;
k=j-1;}
for(int r=k;r>=1;r--)
cout<<r;
cout<<endl;}
getch();
}


خروجی :

68555

موفق باشید ./