有些数字的立方的末尾正好是该数字本身。
比如:1,4,5,6,9,24,25,....
请你计算一下,在10000以内的数字中(指该数字,并非它立方后的数值),符合这个特征的正整数一共有多少个。
思路:
本来是很简单的一道暴力题,正确答案使36,我却做出来21,又写了一遍代码,找到出错的地方了,4位数的立方超int了,用ll
代码:
#include<iostream>
using namespace std;
typedef long long ll;
int main()
{
int cnt=0;
for(ll i=1;i<10;i++)
if(i*i*i%10==i)
cnt++;
for(ll i=10;i<100;i++)
if(i*i*i%100==i)
cnt++;
for(ll i=100;i<1000;i++)
if(i*i*i%1000==i)
cnt++;
for(ll i=1000;i<10000;i++)
if(i*i*i%10000==i)
cnt++;
cout<<cnt<<endl;
}
易错点:
错误的方式:
#include<iostream>
using namespace std;
typedef long long ll;
int main()
{
ll s=0;
cout<<9999*9999*9999<<endl;
return 0;
}
正确的方式:
#include<iostream>
using namespace std;
typedef long long ll;
int main()
{
ll s=9999;
cout<<s*s*s<<endl;
return 0;
}