zoukankan      html  css  js  c++  java
  • 度度熊与数字[公因数]----2019 年百度之星·程序设计大赛

    度度熊与数字

    Accepts: 3638 Submissions: 7683
    Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)

    Problem Description

    度熊发现,11, 33 以及 99 这三个数字很神奇,它们的所有的倍数的每位数字的和一定是自己的倍数。例如说: 5454 是 33 的倍数,同时 5+4 = 95+4=9 也是 33 的倍数。在另一个例子 666666 是 99 的倍数,同时 6+6+6 = 186+6+6=18 也是 99 的倍数。
    度熊又发现,除了 11, 33, 99 以外的的正整数,虽然并不满足"所有的倍数的每位数字的和一定是自己的倍数",但也存在一些数是它们的倍数且各位数字和也是它们的倍数。例如说,888888 是 1212 的倍数,且他的各位数字和 8+8+8=248+8+8=24 也是 1212 的倍数。
    现在度熊想知道,给你一个正整数 VV,是否存在一个数 xx,使得 VV 是 xx 的倍数,同时它的每位数字的和也是 xx 的倍数呢?请找出所有这样的数 xx。

    Input

    "有多组询问,第一行包含一个正整数 T 代表有几组询问,接着每组测试数据占一行,包含一个正整数 V

    • 1≤T≤100
    • 1≤V≤109

    Output

    对于每一个询问,输出两行,第一行包含一个正整数 mm 代表对于该询问的 V,有几个满足条件的 x。第二行输出 m 个数,把所有满足条件的 x 由小到大输出。

    Sample Input

    3
    1
    9
    666666

    Sample Output

    1
    1
    3
    1 3 9
    6
    1 2 3 6 9 18
    Note
    第一个询问中,11 的各位数和为 1=1×1,本身等于 1×1 都是 1 的倍数,故 1 确实为 V=1 的答案。
    第三个询问中,666666 的各位数和为 36=9×4,本身等于 9×7474 都是 9 的倍数,故 9 确实为 V=666666 的答案,经过仔细计算后能发现,除 9 以外, 1,2,3,6,18 也都是答案。

    题目大意是让求 VV的各位和 的公共因子,V的范围是 10e9 可得V各位和最大不超过100,暴力解如下。

    代码:

    //1001
    #include<iostream> 
    #include<vector>
    using namespace std;
    
    int main(){
    	ios::sync_with_stdio(false) ;
    	int t,v,tv,sum;
    	vector<int> vec(100);
    	cin>>t;
    	while(t--){
    		cin>>tv; v = tv;sum = 0; vec.clear();
    		while(tv){
    			sum += tv %10;
    			tv /= 10;
    		}
    		for(int i = 1 ; i <= sum;i++ ){
    			if(v % i == 0 && sum % i == 0)vec.push_back(i);
    		}
    		cout << vec.size()<<endl;
    		for(int i = 0;i < vec.size();i++){
    			cout<< vec[i];
    			if(i == vec.size()-1) cout << endl;
    			else cout << " ";
    		}
    	}
    
    	return 0;
    }
    
  • 相关阅读:
    剑指offer--26.顺时针打印矩阵
    剑指offer--25.二叉树的镜像
    剑指offer--24.树的子结构
    剑指offer--23.合并两个排序的链表
    剑指offer--22.反转链表
    剑指offer--21.链表中倒数第k个结点
    剑指offer--20.矩形覆盖
    剑指offer--19.重建二叉树
    剑指offer--18.从尾到头打印链表
    剑指offer--17.第一个只出现一次的字符
  • 原文地址:https://www.cnblogs.com/zhangxiaomao/p/11374144.html
Copyright © 2011-2022 走看看