信息学奥赛C++语言: 趣味整数1(自守数)
生活随笔
收集整理的這篇文章主要介紹了
信息学奥赛C++语言: 趣味整数1(自守数)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
【題目描述】
晨輸入兩個正整數A 和 B(1<=A<=B<=40000),求A~B的所有自守數。
什么是自守數?比如52=5*5=25;252=25*25=625;762=5776;93762=87909376 ,看懂了嗎?
就是S=X^2 ,在S的末尾有一個X。這就是自守數。
【輸入】
一行兩個正整數A和B。
【輸出】
每行一個自守數,按從小到大的順序輸出。一行輸出范圍以內的自守數(要保證第一個數小于第二個數)
【輸入樣例】
1 100
【輸出樣例】
1
5
6
25
76
代碼
#include<cstdio> using namespace std; bool t(int n) {int s=n*n,x=1;while(x<n)x=x*10;return s%x==n; } long long a,b; int main() {scanf("%lld%lld",&a,&b);printf("1\n");for(long long i=a;i<=b;i++){if(i!=1&&t(i))printf("%lld\n",i);} }總結
以上是生活随笔為你收集整理的信息学奥赛C++语言: 趣味整数1(自守数)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 计算并联电阻的阻值(信息学奥赛一本通-T
- 下一篇: 合法C标识符(信息学奥赛一本通-T113