帕斯特语言编程:小兔子数(rabbit)设S(N)表示N的各位数字之和,如S(484)=4+8+4=16,S(22)=2+2=4.如果一个正整数满足S(x * x)= S(x) * S(x),我们称之为Rabbit Number.比方说,22就是一个Rabbit Number,因为S(484)= S(22) *
来源:学生作业帮助网 编辑:六六作业网 时间:2024/12/25 21:02:58
帕斯特语言编程:小兔子数(rabbit)设S(N)表示N的各位数字之和,如S(484)=4+8+4=16,S(22)=2+2=4.如果一个正整数满足S(x * x)= S(x) * S(x),我们称之为Rabbit Number.比方说,22就是一个Rabbit Number,因为S(484)= S(22) *
帕斯特语言编程:小兔子数(rabbit)
设S(N)表示N的各位数字之和,如S(484)=4+8+4=16,S(22)=2+2=4.如果一个正整数满足S(x * x)= S(x) * S(x),我们称之为Rabbit Number.比方说,22就是一个Rabbit Number,因为S(484)= S(22) * S(22).
现在,给出一个区间[L,R],求在该区间内的Rabbit Number的个数.
记住!是FPC语言!
帕斯特语言编程:小兔子数(rabbit)设S(N)表示N的各位数字之和,如S(484)=4+8+4=16,S(22)=2+2=4.如果一个正整数满足S(x * x)= S(x) * S(x),我们称之为Rabbit Number.比方说,22就是一个Rabbit Number,因为S(484)= S(22) *
#include <iostream>
using namespace std;
int S(int x) //求各位的和的函数
{
int sum=0,y;
while (x>10 )
{
y = x % 10;
sum+=y;
x = x/10;
}
sum += x;
return sum;
}
int main()
{
int L,R,num = 0;
cout<<"输入一个区间【L,R】,L小于R:"<<endl;
cin>>L;
cin>>R;
for (int j = L ; j<R ;j++)
{
if( S(j)*S(j) == S(j*j) )
{
cout<<j<<" is rabbit num!"<<endl;
num++;
}
}
cout<<"区间【"<<L<<','<<R<<"】上共计有"<<num<<"个rabbits数~"<<endl;
}