所以这个程序会打印出完美的数字,但其中一个,2096128正在打印出于某种原因?非常感谢帮助搞清楚发生了什么!谢谢!我无法弄清楚为什么一个非完美数字会在序列中找到它!
String jsonString = "{\"status_code\": 200,\"status_message\": \"OK\",\"response\":{\"applications\":{\"345\": \"A\",\"125\": \"B\",\"458\": \"C\",\"434\": \"D\",\"512\": \"E\",\"645\": \"F\"}}}";
JsonPath jsonPath = new JsonPath(jsonString);
Map<String, String> applicationsMap = jsonPath.getMap("response.applications");
Set<String> applicationKeys = applicationsMap.keySet();
for(String key:applicationKeys){
System.out.println("Key value: " + key + ", Element value: " + applicationsMap.get(key));
}
答案 0 :(得分:0)
你使这项任务变得非常复杂。
这是我想出的:
#include <iostream>
using namespace std;
bool isPerfect(long long n);
int main()
{
int count = 5;
long long sum = 1;
for (int i = 3; count >= 0; i += 2)
{
sum += i * i * i;
if (isPerfect(sum))
{
cout << sum << endl;
count--;
}
}
system("pause");
return 0;
}
bool isPerfect(long long n)
{
int sum = 0;
for (int i = 1; i < n; i++)
{
if (n % i == 0)
sum += i;
}
return sum == n;
}
这肯定不是完美的,但会为5个数字做。考虑到超过5个数字它会非常慢。