case 1 nTen nMult break. case 2 hUndred nMult n/=10 nStep + ∥/准备分离下一位 i(i==nOne+nen+ hundred)是水仙花数吗 cout <<i<< endl
case 1: nTen = nMult; break; case 2: nHundred = nMult; } n /= 10; nStep ++; // 准备分离下一位 } if(i == nOne + nTen + nHundred) // 是水仙花数吗 cout << i << endl; } }
在上述程序中,注意到所处理的数据均为3位数,并注意到 作为记录当前处理位数的变量 nStep的取值分别为0,1,2。 于是可以考虑将一个3位数所分离出来的各位数用一个大小 为3的数组来存放,从而可以简化程序
在上述程序中,注意到所处理的数据均为 3 位数,并注意到 作为记录当前处理位数的变量 nStep 的取值分别为 0,1,2。 于是可以考虑将一个 3 位数所分离出来的各位数用一个大小 为 3 的数组来存放,从而可以简化程序
#include <iostream. h> void maino int nMult, n, nStep, nNum[3] for(nti:=100:1<1000++){ n= nStep =0; while(n) I nMult= n %10 nMult= nMult nMult* nMult nNum[n Step]= nMult
#include <iostream.h> void main() { int nMult, n, nStep, nNum[3]; for(int i = 100; i < 1000; i ++) { n = i; nStep = 0; while(n) { nMult = n % 10; nMult = nMult * nMult * nMult; nNum[nStep] = nMult;
n/=10; nStep + if(i== nNum[o]+ nNum[1]+ nNum[2D cout <<i<< endl
n /= 10; nStep ++; } if(i == nNum[0] + nNum[1] + nNum[2]) cout << i << endl; } }
问题编写函数输出指定数以内的“完数” 分析所谓完数是指与其因子(包括1)之和相等的正整数 由问题可知解决方案可以分为两步: 1分解并保存数i的各因数 2.检测i是否是一个完数,若是则按指定格式输出
问题 编写函数输出指定数以内的“完数”。 分析 所谓完数是指与其因子(包括 1)之和相等的正整数。 由问题可知解决方案可以分为两步: 1. 分解并保存数 i 的各因数; 2. 检测 i 是否是一个完数,若是则按指定格式输出