C++编程,越简单越好,越快追加越多

来源:百度知道 编辑:UC知道 时间:2024/07/02 13:04:25
子数整数
源程序名 num.??? (pas,c,cpp)
可执行文件名 num.exe
输入文件名 num.in
输出文件名 num.out
对于一个五位数a1a2a3a4a5,可将其拆分为三个子数:
sub1=a1a2a3
sub2=a2a3a4
sub3=a3a4a5
例如,五位数20207可以拆分成
sub1=202
sub2=020(=20)
sub3=207
现在给定一个正整数K,要求你编程求出10000到30000之间所有满足下述条件的五位数,条件是这些五位数的三个子数sub1,sub2,sub3都可被K整除。
输入
输入由键盘输入,输入仅一行,为正整数K(0<K<1000)。
输出
输出到文件,输出文件的每一行为一个满足条件的五位数,要求从小到大输出。不得重复输出或遗漏。如果无解,则输出“No”。
样例
num.in
15
num.out
22555
25555
28555
30000

int main()
{
unsigned int k,i,num=0;
short int a,b,c;
FILE *out;
if((out=fopen("out.txt","w"))==NULL)
{
cout<<"can't open!"<<endl;
return 1;
}
cout<<"enter K:";
cin>>k;
if(k<0||k>=1000)
{
cout<<"enter is error!";
return 1;
}
for(i=10000;i<=30000;i++)
{
a=i/100;
b=i%10000/10;
c=i%1000;
if(a%k==0&&b%k==0&&c%k==0)
{
num++;
cout<<i<<endl;
fprintf(out,"%d\r\n",i);
}
}
if(num==0)
{
cout<<"NO!"<<endl;
fprintf(out,"NO!");
}
fclose(out);
return 1;
}

#include <iostream>
using namespace std;

bool check(int num, int M) {
int sub[3];
sub[0] = num / 100;
sub[1] = (num