做视频在哪个网站找素材网站备案流程

 我会将这题的解题的核心思路解为将10进制转化成7进制,毕竟题目上说的很清楚7的几次方
 然后附上我认为的最优解
#include<stdio.h>
int main()
{int n = 1000000;int sum = 0;while (n != 0){int a;a = n % 7;n = n / 7;sum += a ;}printf("%d", sum);return 0;
}
//输出16
 
先看一下看的懂嘛?看不懂?没关系就算看不懂相信你对这个代码也有种陌生的熟悉感,和十进制转化为二进制很像
while (n != 0)
{a = n % 2;n = n / 2;sum += a * y;y *= 10;
}//10进制转化为2进制的代码
 
**但这题要求的是最多可以分给多少人,而不是7进制的代码,**所以只需要求n可以尽可能的被7的整数倍整除几次
举个例子假设n=10,那么这题的解就是4,
 3+7=3 * 7^0+1 * 7^1
 那n=100呢?那么题的解就为4,
 2+98=2+49*2=2 * 7^0+2 * 7^2
 还抽象吗?
 第一个a求的是会有几个1,也就是几个7的0次方,
 后面每一个非0的a求的都是当下7的最低的次方有几个。
 带入100
 100%7=2,所以有2个7的0次方
 100-2=98,98/7=14,14/7=2,98里面有2个7的平方
 很妙的一点就是a不等于0时都代表着几个a的几次方
