找出符合以下条件的Troitsky数,将该数的首位数字移动到末位数字之后得到的数是原数的整数倍
例如:将142857的首位数字1移动到末位之后得到的数是428571,而428571=3*142857,因此142857是Troitsky数
编程要求:
(1) 编写函数int Troitsky(long a[]),其功能是求出10000以内的所有Troitsky数,并将它们依次放入a指向的数组中,函数返回找到的Troitsky数的个数.
(2)编写main函数,调用Troitsky函数,将运行结果输出到屏幕。
//main.c
//author:yangyang
#include "stdafx.h"
#include "head.h"
#define N1 11
#define N2 10000000
int Troitsky();
int main()
{
printf("\n一共%d个\n", Troitsky());
return 0;
}
int Troitsky()
{
printf("Troitsky数为:");
int number = 0;
for (long int i = N1; i < N2; i++)
{
long int changed_num = integer_front_to_back(&i);
if (changed_num == i * 3)
{
number++;
printf("%d ", i);
}
}
return number;
}
结果如图