rich22851716 2021-06-23 19:25 采纳率: 94.1%
浏览 21
已采纳

c++p1631:数字移位

 

描述 
一个正整数(保证不超过10^7)的个位数字是n,如果把个位数字移到首位,所得到的数是原数的4倍,试编程找出满足条件的最小正整数。
输入格式 
这个正整数的个位数字n(4≤n≤9)。
输出格式 
只有一行,为满足条件的最小正整数。
样例输入 
4
样例输出

102564

  • 写回答

1条回答 默认 最新

  • 暖晴的天 2021-06-23 19:48
    关注

    代码如下: 

    #include <stdio.h>
    #include <math.h>
    
    void main()
    {
    	int n;
    	scanf("%d", &n);
    	long long i = 10;
    	do
    	{
    		if (i % 10 == n)
    		{
    			long long num = i / 10;
    			long long temp = num;
    			int j = 0;
    			while (temp)
    			{
    				j++;
    				temp /= 10;
    			}
    
    			num = num + n * pow(10, j);
    			if (num / i == 4 && num % i == 0)
    			{
    				printf("%d", i);
    				break;
    			}	
    		}
    		i++;
    	} while (true);
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?