水仙の数_デジタル分離_キューブの合計_せいじょよゆう


一、水仙の花の数:1つの3桁、その各位の数字の立方とこの数自体に等しい.
eg:153 = 1^3 + 5^3 + 3^3
1、窮挙法:
#include
#include	// pow(x,3)
int main(){
	int i,a,b,c,t;
	
	for(i=100;i<=999;i++){
		a = i/100;    //  
		c = i%10;     //  
		b = (i-a*100)/10;    //  
		t = a*a*a+b*b*b+c*c*c;
		if(i==t){
			printf("%5d",i);
		}
	}
} 

二、1~9の間のいずれかの数dと正の整数nを入力し、Sn=d+dd+dddddd+……+n個dを求める
#include
int main(){
	long d,n,s=0,x;
	printf("set d,n : ");
	scanf("%ld,%ld",&d,&n);
	x = d;
	
	while(n>0){
		s += x;
		x = x*10+d;
		n--;
	}
	printf("sum: %d",s);
}

三、数字の分離
実数654.321の各数字を分離する(方法は改善すべき・・)
#include
int main(){
	int a,b,c,d,e,f;
	double n = 654.321,t;
	a = (int)n/100;
	b = ((int)n-a*100)/10;
	c = (int)n-a*100-b*10;
	
	t = n-a*100-b*10-c;		//     
	t*=1000;
	
	d = t/100;
	e = (t-d*100)/10;
	f = t-d*100-e*10;
	
	printf("  :%d
",a); printf(" :%d
",b); printf(" :%d
",c); printf("-1 :%d
",d); printf("-2 :%d
",e); printf("-3 :%d
",f); }