大一下学期开学的第一周,我在小组主要学习了算法的比较基础的思维题,但重点还是放在基础语言C++的巩固上了,我在newoj上找了一些比较基础的题,感觉做着还行。不过,我们组长给我们拉了26道算法的思维题,一开始看还是英文的,然后用有道英语翻译了一下,感觉还是难,有的题做不出来,有的题想了一半又没有思路了,导致这一周的前五天一道题都没写出来,这周的周六和周末就要补题啦,但我补题的速度也是很慢,不过我还是会尽量去补的。不说这个了,还是讲一下我这周写的比较基础的一道题吧!
题目描述
对于一个5位数而言:abcde,可以构成3个3位数abc、bcd、cde。
如果这个5位数是n的倍数,并且3个3位数也是n的倍数,那么这个5位数就是n的超级倍数。
输入
输入存在多组测试数据,对于每组测试数据输入一个n(10<=n<=999)。
输出
每组测试数据,如果存在超级倍数,从小到大依次输出超级倍数,否则输出No。
每组测试数据之间以一个空行分隔。
样例输入 Copy
34
35
36
样例输出 Copy
No
70000
77000
90000
我写的代码就是:
#include
using namespace std;
int main()
{
int a,b,c,n,m,ans=0;
while(cin>>n){
for(m=1e+4;m<1e+5;m++)
if(m%n0)
{
a=m/100;
b=(m/10)%1000;
c=m%1000;
if(a%n0&&b%n0&&c%n0){
ans++;
cout<<m<<endl;
}
}
if(ans==0) cout<<“no\n\n”;
}
return 0;
}
虽然我现在的进度有点慢,但我还是会尽力往前赶的,并且我是会坚持的。