A2893 | 解一元二次方程的烦恼
时间限制1s
内存限制128MB
通过 / 提交0/0
题目描述
JosephZheng 在写数学作业的预习。他往往使用 Casio 来帮忙解一元二次方程。但是 Casio 有一个问题,就是当 $\Delta=b^2-4ac$ 为一个大素数或大合数时,其开平方的结果会以小数显示,而不是老师要求的二次根式形式。JosephZheng 很是苦恼,一遇到这种情况就要手动解方程。一天他再也忍不住了,于是打开了电脑,编了一个 prime 程序……于是悲剧的 OIer 们就要跟着疯狂的 JosephZheng 一起编这个程序,呵呵……
废话少说,给你一个大数 $N$(不一定在 int64 范围内),让你进行素性判断,然后分解质因数。当然,初中数学题不可能有大于 int64 的数让你判断素性,因此超过范围的数可以忽略不计。为了让程序更加贴心,JosephZheng 多了一些要求,会在输入输出中给出具体情况。
废话少说,给你一个大数 $N$(不一定在 int64 范围内),让你进行素性判断,然后分解质因数。当然,初中数学题不可能有大于 int64 的数让你判断素性,因此超过范围的数可以忽略不计。为了让程序更加贴心,JosephZheng 多了一些要求,会在输入输出中给出具体情况。
输入格式
一个大数 $N$($N$ 为非负整数),其中这个数的各个数位之间可以插入各种符号,例如 $1234$ 可以为
1 - 2alsdkjf3!@¥%!@@@##¥……!¥#-4 等。你需要在这一长串乱码中找出这个要判断的数。输入数据可能有多组,如果读到一行没有数字的字串即结束。字符串长度可能大于 $255$。输出格式
在读入数据之前先输出
然后输出
如果是质数则输出
若果是质数就 halt,若是小于 $2$ 的数则在输出
Enter the number=,需要换行。然后输出
Prime?,问号后有一个空格,但不要换行。如果是质数则输出
Yes! 否则输出 No!。此时换行。若果是质数就 halt,若是小于 $2$ 的数则在输出
No! 后也 halt。若是合数则分解质因数。如果该数大于四千万则输出 The number is too large!,然后 halt。否则分解质因数。输出结果的方式在输出样例中会详细给出。每组数据之间空一行。输入输出样例
输入 #1
4 eed
输出 #1
Enter the number= Prime? No! 4=2^2 Enter the number=
输入 #2
2 end
输出 #2
Enter the number= Prime? Yes! Enter the number=
输入 #3
-1 adfs
输出 #3
Enter the number= Prime? No! Enter the number=
输入 #4
1234###24#@13#@¥!1 hehe
输出 #4
Enter the number= Prime? No! The number is too large! Enter the number=
输入 #5
1.5 1 1234324123512343123 @~@~@~@
输出 #5
Enter the number= Prime? No! 15=3^1*5^1 Enter the number= Prime? No! Enter the number= Prime? No! The number is too large! Enter the number=
输入 #6
12 halt@@
输出 #6
Enter the number= Prime? No! 12=2^2*3^1 Enter the number=
暂无题解
C++ 编辑器
输入
输出
可保存默认模板;新题优先使用已保存模板。
当前快捷键仅展示,暂不支持修改。
- 撤销
Ctrl / ⌘ + Z - 重做
Ctrl / ⌘ + Y - 查找
Ctrl / ⌘ + F - 全选
Ctrl / ⌘ + A - 复制
Ctrl / ⌘ + C - 剪切
Ctrl / ⌘ + X - 粘贴
Ctrl / ⌘ + V - 自动排版
工具栏排版按钮 - 草稿保存
编辑时自动保存到本机
历史
提交记录
状态说明时间源码
AI
作答助手
你好,我是作答助手。可以问思路、复杂度、样例含义或代码报错原因;不会直接给出完整 AC 代码。
确定要清空代码吗?
提交通过
评测结果:Accepted