企业网站建设制作多少钱番禺网站建设公司哪家好
企业网站建设制作多少钱,番禺网站建设公司哪家好,团购酒店的网站建设,工程信息价查询【题目链接】
洛谷 P1151 子数整数
【题目考点】
1. 循环#xff1a;数位分离
2. 数字组合
【解题思路】
解法1#xff1a;取出三个三位数字
对于一个五位数字 a 1 a 2 a 3 a 4 a 5 a_1a_2a_3a_4a_5 a1a2a3a4a5 s u b 1 a 1 a 2 a 3 sub_1a_1a_2a_3 sub1…【题目链接】
洛谷 P1151 子数整数
【题目考点】
1. 循环数位分离
2. 数字组合
【解题思路】
解法1取出三个三位数字
对于一个五位数字 a 1 a 2 a 3 a 4 a 5 a_1a_2a_3a_4a_5 a1a2a3a4a5 s u b 1 a 1 a 2 a 3 sub_1a_1a_2a_3 sub1a1a2a3是x的前3位要取到前3位的方法是x/100。 s u b 2 a 2 a 3 a 4 sub_2a_2a_3a_4 sub2a2a3a4是x的中间3位要取到中间3位的方法是x/10%1000。 s u b 3 a 3 a 4 a 5 sub_3a_3a_4a_5 sub3a3a4a5是x的中间3位要取到最后3位的方法是x%1000。 枚举10000~30000的每一个数字通过计算得到该五位数字分解出的 s u b 1 , s u b 2 , s u b 3 sub_1, sub_2, sub_3 sub1,sub2,sub3判断这三个数字是否都是k的倍数除以k的余数为0 设标志位hasOutput标记是否有输出。 如果 s u b 1 , s u b 2 , s u b 3 sub_1, sub_2, sub_3 sub1,sub2,sub3这三个数字都是k的倍数则输出该数字将hasOutput设为真 最后通过判断hasOutput判断是否有输出如果没有输出则输出No。
解法2将数字数位分离保存到数组
枚举10000~30000的每一个数字对于一个五位数字 a 1 a 2 a 3 a 4 a 5 a_1a_2a_3a_4a_5 a1a2a3a4a5将其数位分离保存到数组a中。 而后分别进行数字组合组合出 s u b 1 a 1 a 2 a 3 sub_1a_1a_2a_3 sub1a1a2a3 s u b 2 a 2 a 3 a 4 sub_2a_2a_3a_4 sub2a2a3a4 s u b 3 a 3 a 4 a 5 sub_3a_3a_4a_5 sub3a3a4a5 判断这三个数字是否都是k的倍数是则输出。 最后如果没有输出数字则输出No。
【题解代码】
解法1取出三个三位数字
#include bits/stdc.h
#define INF 0x3f3f3f3f
using namespace std;
#define N 105
int main()
{bool hasOutput false;int k, a, b, c;cin k;for(int i 10000; i 30000; i){a i/100;b i/10%1000;c i%1000;if(a%k 0 b%k 0 c%k 0){hasOutput true;cout i endl;} }if(hasOutput false)cout No;return 0;
}解法2将数字数位分离保存到数组
#include bits/stdc.h
#define INF 0x3f3f3f3f
using namespace std;
#define N 105
int main()
{bool hasOutput false;int k, a[10], sub1, sub2, sub3;cin k;for(int i 10000; i 30000; i){for(int x i, d 5; x 0; x / 10, d--)a[d] x%10;sub1 a[1]*100a[2]*10a[3];sub2 a[2]*100a[3]*10a[4];sub3 a[3]*100a[4]*10a[5];if(sub1%k 0 sub2%k 0 sub3%k 0){hasOutput true;cout i endl;} }if(hasOutput false)cout No;return 0;
}
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/92172.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!