题意:
定义函数P(n)为n的各位数字之积(10进制表示)如果P(n)<>0并且n%P(n)==0,则称n为good number,如果n和n+1都是good number,则称n为perfect number.输入K(1<=K<=1000000),求所有K位十制数中共有多少个perfect number.
分析:
找规律,自己看程序吧。
定义函数P(n)为n的各位数字之积(10进制表示)如果P(n)<>0并且n%P(n)==0,则称n为good number,如果n和n+1都是good number,则称n为perfect number.输入K(1<=K<=1000000),求所有K位十制数中共有多少个perfect number.
分析:
找规律,自己看程序吧。
#include <cstdio>
#include <iostream>
using namespace std;
int main()
{
int k;
cin >> k;
if(k == 1)
cout << 8 << endl;
else
{
int tmp = (k-1)%6;
if(tmp == 1 || tmp == 2 || tmp == 4 || tmp == 5)
cout << 1 << endl;
else if(tmp == 3)
cout << 3 << endl;
else
cout << 4 << endl;
}
return 0;
}