for循環(huán)運(yùn)算
#include <stdio.h>
int main()
{
? ? //定義三位數(shù)num,個(gè)位數(shù)sd,十位數(shù)td,百位數(shù)hd
? ? int num, sd, td, hd;
? ? //循環(huán)所有三位數(shù)
? ? for(num=100;num<1000;num++)
? ? {
? ? ? ? //獲取三位數(shù)字num百位上的數(shù)字
? ? ? ? hd =num/100;
? ? ? ? //獲取三位數(shù)字num十位上的數(shù)字
? ? ? ? td =num%100/10;
? ? ? ? //獲取三位數(shù)字num個(gè)位上的數(shù)字
? ? ? ? sd =num%10;
? ? ? ? //水仙花數(shù)的條件是什么?
? ? ? ? if(num==hd*hd*hd+td*td*td+sd*sd*sd)?
? ? ? ? {
? ? ? ? ? ? printf("水仙花數(shù)字:%d\n", num); ? ?
? ? ? ? }
? ? }
? ? return 0; ? ?
}
運(yùn)行結(jié)果是
水仙花數(shù)字:153
水仙花數(shù)字:370
水仙花數(shù)字:371
水仙花數(shù)字:407
這是怎么算出來(lái)的?
2016-09-06
注釋里都有,水仙花數(shù)字的條件有標(biāo)明,舉例153,hd =num/100,153/100=1(百位數(shù)hd)
? td =num%100/10; 153%100=53? 53/10=5(就是十位數(shù)td),同理算出sd?
通過(guò)num==hd*hd*hd+td*td*td+sd*sd*sd算出水仙花