首页 > 代码库 > hdoj 1999 不可摸数 【数学】
hdoj 1999 不可摸数 【数学】
题意:。。。
简单来说,就是要找出50万以内的数的真因子之和,再做个标记
代码:
#include <stdio.h> #include <string.h> #define M 500000 int a[M]; int ok[M]; void f() { int i, j; for(i = 1; i < M; i ++){ for(j = 1; j*i < M; j ++){ a[i*j]+=i; } } for(i = 1; i < M; i ++){ a[i]-=i; if(a[i] < 1001){ ok[a[i]] = 1; } } } int main() { f(); int t, n; scanf("%d", &t); while(t --){ scanf("%d", &n); printf("%s\n", ok[n]?"no":"yes"); } }题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1999
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。