雷霹数(very 简单的方法)C/C++


思路:正常人肯定是循环切割,但是,我一直不是正常人
所以,完全没有循环切割的必要,只需要直接切就可以了,具体看代码very very good,very very 巧妙
#include
#include
using namespace std;
#define llu unsigned long longint main()
{llu l,r;cin >> l >> r ;llu num=0;if(l<80)l=80;for(llu i=l;i<=r;i++){llu f=i;int a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12;a1=f/1000000;a2=f%1000000;a3=f/100000;a4=f%100000;a5=f/10000;a6=f%10000;a7=f/1000;a8=f%1000;a9=f/100;a10=f%100;a11=f/10;a12=f%10;if((a1+a2)*(a1+a2)==i){num++;cout << i << endl ;continue;}if((a3+a4)*(a3+a4)==i){num++;cout << i << endl ;continue;}if((a5+a6)*(a5+a6)==i){num++;cout << i << endl ;continue;}if((a7+a8)*(a7+a8)==i){num++;cout << i << endl ;continue;}if((a9+a10)*(a9+a10)==i){num++;cout << i << endl ;continue;} if((a11+a12)*(a11+a12)==i){num++;cout << i << endl ;continue;}}if(num==0)cout << "NONE" << endl ;return 0;
}
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
